Potrivit analizei echipei de securitate Beosin, cauza principală a atacului asupra proiectului JPEG a fost un atac de reintrare, care a dus la pierderi de cel puțin aproximativ 10 milioane USD. Când atacatorul apelează funcția remove_liquidity pentru a elimina lichiditatea, el adaugă lichiditate prin reintroducerea funcției add_liquidity Deoarece soldul este actualizat înainte de a reintra în funcția add_liquidity, apare o eroare în calculul prețului.