Django tīmekļa sistēmas ievainojamība, kas var izraisīt SQL aizstāšanu

Ir publicēti Django tīmekļa ietvara 4.0.6 un 3.2.14 koriģējošie laidieni, kas novērš ievainojamību (CVE-2022-34265), kas, iespējams, ļauj aizstāt SQL kodu. Problēma skar lietojumprogrammas, kas izmanto nepārbaudītus ārējos datus veida un lookup_name parametros, kas tiek nodoti funkcijām Trunc(kind) un Extract( lookup_name). Programmas, kas atļauj tikai pārbaudītus datus meklēšanas_nosaukumā un veida vērtībās, neaizsargātība neietekmē.

Problēma tika bloķēta, aizliedzot funkciju Extract un Trunc argumentos izmantot citas rakstzīmes, izņemot burtus, ciparus, “-”, “_”, “(” un “)”. Iepriekš nosūtītajās vērtībās netika izgriezta viena pēdiņa, kas ļāva izpildīt jūsu SQL konstrukcijas, nododot tādas vērtības kā “day” FROM start_datetime)) VAI 1=1;—” un “year”, start_datetime) ) VAI 1=1;—“. Nākamajā versijā 4.1 ir plānots vēl vairāk nostiprināt datuma iegūšanas un saīsināšanas metožu aizsardzību, taču API veiktās izmaiņas novedīs pie saderības ar trešo pušu datu bāzes aizmugursistēmām.

Avots: opennet.ru

Pievieno komentāru