S-au publicat actualizări corective pentru framework-ul web Django 4.0.6 și 3.2.14, care remediază vulnerabilitatea (CVE-2022-34265), permițând potențial injectarea de cod SQL. Problema afectează aplicațiile care folosesc date externe nevalidate în parametrii kind și lookup_name, transmiși funcțiilor Trunc(kind) și Extract(lookup_name). Aplicatiile care permit doar date validate în valorile lookup_name și kind nu sunt afectate de vulnerabilitate.
Problema a fost blocată prin interzicerea utilizării în argumentele funcțiilor Extract și Trunc a caracterelor care nu sunt litere, cifre, „-“, „_”, „(” și „)”. Anterior, în valorile transmise nu era eliminată apostroful, ceea ce permitea executarea de construcții SQL prin transmiterea de valori de tipul „day’ FROM start_datetime)) OR 1=1;—” și „year’, start_datetime)) OR 1=1;—”. În următoarea versiune 4.1 se preconizează întărirea suplimentară a protecției metodelor de extragere și trunchiere a datelor, dar modificările aduse API-ului vor conduce la necompatibilitate cu backend-urile terță parte pentru lucrul cu baze de date.
Sursa: opennet.ro
