„`html
Zusammenfassung
CVE-2026-15043 ist eine kritische Sicherheitslücke in DBI::SQL::Nano für Perl (Versionen 1.42 bis vor 1.651), die zu einer Invertierung der SQL-Vergleichsoperatoren <= und >= bei Textvergleichen führt. Diese Schwachstelle kann dazu führen, dass SQL-WHERE-Klauseln falsche Datensätze zurückgeben, insbesondere bei dateigestützten Datenbanken. Mit einem CVSS-Wert von 9.8 wird diese Sicherheitslücke als kritisch eingestuft.
Betroffene Systeme
Die SicherheitslĂĽcke betrifft alle Systeme, die DBI::SQL::Nano in den Versionen 1.42 bis 1.650 verwenden. Dies umfasst insbesondere:
- DBD::File-Treiber fĂĽr dateigestĂĽtzte Datenbanken
- DBD::DBM-Treiber
- CSV-basierte Datenbanktreiber
- Alle DBI-Anwendungen mit erzwungenem SQL::Nano-Fallback (DBI_SQL_NANO=1)
- Systeme ohne installiertes SQL::Statement-Modul
Technische Details
Der Fehler befindet sich in der is_matched-Methode von DBI::SQL::Nano. Im Zweig fĂĽr nicht-numerische Stringvergleiche werden die Operatoren inversiert ausgewertet:
- <= wird mit Perls
ge-Operator (greater or equal) evaluiert - >= wird mit Perls
le-Operator (less or equal) evaluiert
Diese logische Invertierung fĂĽhrt dazu, dass WHERE-Prädikate bei Textvergleichen falsche Ergebnisse liefern. Eine Anfrage wie „SELECT * FROM table WHERE name <= 'M'" wĂĽrde tatsächlich alle Namen >= ‚M‘ zurĂĽckgeben.
Empfohlene Massnahmen
- Sofortiges Update: Aktualisierung von DBI::SQL::Nano auf Version 1.651 oder höher
- Audit durchfĂĽhren: ĂśberprĂĽfung aller Anwendungen mit WHERE-Klauseln auf dateigestĂĽtzten Datenbanken auf fehlerhafte Ergebnisse
- SQL::Statement installieren: Installation des SQL::Statement-Moduls als Ersatz fĂĽr SQL::Nano
- Daten validieren: ĂśberprĂĽfung von Zugriffskontroll- und Autorisierungsfunktionen, die auf WHERE-Klauseln basieren
Bewertung
Die kritische Bewertung (CVSS 9.8) ist berechtigt, da diese Sicherheitslücke zu Datenlecks, Autorisierungsverletzungen und stillen Datenmanipulationen führen kann. Das fehlende Patch-Update erschwert die Remediation zusätzlich.
„`