Byly zveřejněny opravy webového rámce Django 4.0.6 a 3.2.14, které odstraňují zranitelnost (CVE-2022-34265), potenciálně umožňující provedení podvrženého SQL kódu. Problém se týká aplikací, které používají neověřená externí data v parametrech kind a lookup_name předávaných do funkcí Trunc(kind) a Extract(lookup_name). Programy, které umožňují ve hodnotách lookup_name a kind pouze ověřená data, nejsou touto zranitelností dotčeny.
Problém je zablokován zákazem používání v argumentech funkcí Extract a Trunc znaků odlišných od písmen, číslic, «-«, «_», «(» a «)». Dříve nebyla ve předávaných hodnotách odstraněna apostrof, což umožnilo provádět vlastní SQL konstrukce předáním hodnot jako «day’ FROM start_datetime)) OR 1=1;—» a «year’, start_datetime)) OR 1=1;—». V příštím vydání verze 4.1 se plánuje další zpevnění ochrany metod pro extrakci a truncaci dat, ale provedené změny v API povedou k porušení kompatibility se třetími stranami backendů pro práci s databázemi.
Zdroj: opennet.ru
