Es wurden Korrekturversionen des Web-Frameworks Django 4.0.6 und 3.2.14 veröffentlicht, die die SicherheitsanfĂ€lligkeit (CVE-2022-34265) beheben, die potenziell die AusfĂŒhrung von benutzerdefiniertem SQL-Code ermöglicht. Das Problem betrifft Anwendungen, die nicht validierte externe Daten in den Parametern kind und lookup_name verwenden, die an die Funktionen Trunc(kind) und Extract(lookup_name) ĂŒbergeben werden. Programme, die in den Werten lookup_name und kind nur validierte Daten zulassen, sind nicht betroffen.
Das Problem wurde durch das Verbot der Verwendung von Zeichen, die nicht Buchstaben, Ziffern, â-â, â_â, â(â und â)â sind, in den Argumenten der Funktionen Extract und Trunc blockiert. Zuvor wurde im ĂŒbergebenen Wert kein einfaches AnfĂŒhrungszeichen abgeschnitten, was die AusfĂŒhrung eigener SQL-Konstruktionen ĂŒber die Ăbermittlung von Werten wie âdayâ FROM start_datetime)) OR 1=1;ââ und âyearâ, start_datetime)) OR 1=1;ââ ermöglichte. In der nĂ€chsten Version 4.1 ist geplant, den Schutz der Methoden zum Extrahieren und KĂŒrzen von Daten weiter zu verstĂ€rken, aber die Ănderungen im API werden zu InkompatibilitĂ€ten mit Drittanbieter-Backends fĂŒr die Datenbankarbeit fĂŒhren.
Quelle: opennet.ru
