Sårbarhet i Django webbramverk som kan leda till SQL-substitution

Korrigerande utgåvor av Django webbramverk 4.0.6 och 3.2.14 har publicerats, som åtgärdar en sårbarhet (CVE-2022-34265) som potentiellt tillåter dig att ersätta din SQL-kod. Problemet påverkar applikationer som använder overifierade externa data i parametrarna typ och lookup_name som skickas till funktionerna Trunc(kind) och Extract(lookup_name). Program som endast tillåter verifierad data i lookup_name och typvärden påverkas inte av sårbarheten.

Problemet blockerades genom att förbjuda användningen av andra tecken än bokstäver, siffror, "-", "_", "(" och ")" i argumenten för funktionerna Extrahera och Trunc. Tidigare klipptes inte det enstaka citatet ut i de överförda värdena, vilket gjorde det möjligt att köra dina SQL-konstruktioner genom att skicka värden som "day' FROM start_datetime)) ELLER 1=1;—" och "year', start_datetime) ) ELLER 1=1;—“. I nästa utgåva 4.1 är det planerat att ytterligare stärka skyddet för datumextraktion och trunkeringsmetoder, men ändringar som görs i API:t kommer att leda till en sammanbrott i kompatibiliteten med tredjepartsdatabasbackends.

Källa: opennet.ru

Lägg en kommentar