Django veebiraamistiku haavatavus, mis võib viia SQL-i asendamiseni

Avaldatud on Django veebiraamistiku 4.0.6 ja 3.2.14 korrigeerivad väljaanded, mis parandavad haavatavuse (CVE-2022-34265), mis võimaldab teil potentsiaalselt oma SQL-koodi asendada. Probleem mõjutab rakendusi, mis kasutavad funktsioonidele Trunc(kind) ja Extract(otsingu_nimi) edastatud tüübi ja lookup_name parameetrites kinnitamata välisandmeid. Haavatavus ei mõjuta programme, mis lubavad otsingu_nimi ja tüüpi väärtustes ainult kontrollitud andmeid.

Probleem blokeeriti, keelates funktsioonide Extract ja Trunc argumentides kasutada muid märke peale tähtede, numbrite, "-", "_", "(" ja ")". Varem ei olnud edastatavatest väärtustest välja lõigatud üht tsitaati, mis võimaldas täita teie SQL-i konstruktsioone, edastades selliseid väärtusi nagu "day' FROM start_datetime)) VÕI 1=1;—" ja "year", start_datetime) ) VÕI 1=1;—“. Järgmises versioonis 4.1 on plaanis veelgi tugevdada kuupäeva eraldamise ja kärpimise meetodite kaitset, kuid API-s tehtud muudatused toovad kaasa ühilduvuse katkemise kolmandate osapoolte andmebaasi taustaprogrammidega.

Allikas: opennet.ru

Lisa kommentaar