Sicherheitsanfälligkeit im Web-Framework Django, die zu SQL-Code-Injection führen kann

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

60GB SSD 8Gb DDR4