
PoC for CVE-2026-9082 (Drupal SA-CORE-2026-004) Drupal Core SQLi
Haftungsausschluss: Dieses Proof-of-Concept dient ausschließlich zu Bildungs- und Forschungszwecken. Verwenden Sie diese Software nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben. Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die durch dieses Projekt verursacht werden.
Ein Proof-of-Concept (poc.py) der CVE-2026-9082 (Drupal SA-CORE-2026-004), eine kritische SQL-Injection-Sicherheitslücke im Drupal-Kern, die es einem Angreifer ermöglichen kann, beliebige SQL-Abfragen zu senden, wenn Drupal für die Verwendung einer PostgreSQL-Datenbank-Backend konfiguriert ist.
Sie resultiert aus dem PostgreSQL-Entity-Query-Condition-Translator des Drupal-Kerns, bei dem Array-Schlüssel in einem Entity-Query-IN-Filter von einem Angreifer manipuliert werden können, um beliebige SQL-Fragmente zu injizieren.
Dieser PoC interagiert mit der JSON:API-Schicht von Drupal und injiziert eine fehlerhafte SQL-Bedingung, die in anfälligen Versionen zu einem HTTP 500 Internal Server Error führt, während gepatchte Versionen die Abfrageschlüssel korrekt bereinigen und die Ausnahme verhindern.
CVE-ID: CVE-2026-9082
SA-CORE-ID: SA-CORE-2026-004
CVSS-Score: 6.5 (MEDIUM)
CVSS-Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Kategorie: SQL-Injection
Auswirkungen: Authentifizierungsumgehung, Informationsoffenlegung, Privilegienausweitung, Remotecodeausführung (abhängig von der Konfiguration)
Betroffene Versionen (Drupal-Kern):
>= 8.9.0, < 10.4.10>= 10.5.0, < 10.5.10>= 10.6.0, < 10.6.9>= 11.0.0, < 11.1.10>= 11.2.0, < 11.2.12>= 11.3.0, < 11.3.10Führen Sie einfach aus:
make
Wir stellen ein docker-compose-Reproduktionslabor zur Verfügung, das Folgendes verwendet:
Beide Setups werden mitgeliefert:
/jsonapi/node/article ohne Authentifizierung (häufige Konfiguration in vielen Drupal-Seiten)article-Node, um sicherzustellen, dass die Filterung von /jsonapi/node/article realistisch funktioniertDie Site-Dateien und der Datenbank-Inhalt sind bereits in sites.tar.gz und init.sql.gz vorbereitet
Zum Zeitpunkt der Erstellung dieses Textes ist Drupal 11.2.12 noch nicht auf Docker Hub verfügbar, daher bauen wir ein benutzerdefiniertes Image, das mit Composer installiert wurde.