CVE-2026-26198
ormar ist anfällig für SQL-Injection über die Aggregatfunktionen min() und max()
- Veröffentlicht
- 24.02.2026
- Aktualisiert
- 24.02.2026
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 25.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 58,1 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Ormar ist ein asynchrones Mini-ORM für Python. In den Versionen 0.9.9 bis 0.22.0 erstellt das Ormar-ORM bei Aggregatabfragen SQL-Ausdrücke, indem es vom Benutzer bereitgestellte Spaltennamen direkt an `sqlalchemy.text()` übergibt, ohne jegliche Validierung oder Bereinigung. Die Methoden `min()` und `max()` in der Klasse `QuerySet` akzeptieren beliebige Zeichenketten als Spaltenparameter. Während `sum()` und `avg()` teilweise durch eine `is_numeric`-Typüberprüfung geschützt sind, die nicht existierende Felder ablehnt, überspringen `min()` und `max()` diese Validierung vollständig. Infolgedessen wird eine vom Angreifer kontrollierte Zeichenkette als rohes SQL innerhalb des Aggregatfunktionsaufrufs eingebettet. Jeder unbefugte Benutzer kann diese Schwachstelle ausnutzen, um den gesamten Datenbankinhalt zu lesen, einschließlich Tabellen, die nichts mit dem abgefragten Modell zu tun haben, indem er eine Unterabfrage als Spaltenparameter injiziert. Version 0.23.0 enthält einen Patch.
Quellen
2- CVE-2026-26198-analysisForschung
Tiefer Einblick in eine kritische SQL-Injection in Pythons Ormar-ORM — Reproduktion, Fix und Tests
Proof-of-Concept-Exploit für CVE-2026-26198, der die Schwachstelle und ihre Auswirkungen demonstriert.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.