
PoC pour CVE-2026-9082 (Drupal SA-CORE-2026-004) SQLi du noyau Drupal
Avertissement : Cette preuve de concept est fournie uniquement à des fins éducatives et de recherche. N'utilisez pas ce logiciel contre un système dont vous n'êtes pas propriétaire ou pour lequel vous n'avez pas l'autorisation explicite de tester. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par ce projet.
Une preuve de concept (poc.py) de CVE-2026-9082 (Drupal SA-CORE-2026-004), une vulnérabilité critique d'injection SQL dans le noyau Drupal qui peut permettre à un attaquant de soumettre des requêtes SQL arbitraires lorsque Drupal est configuré pour utiliser un backend de base de données PostgreSQL.
Elle provient du traducteur de conditions de requête d'entité PostgreSQL du noyau Drupal, où les clés de tableau dans un filtre IN de requête d'entité peuvent être manipulées par un attaquant pour injecter des fragments SQL arbitraires.
Cette preuve de concept interagit avec la couche JSON:API de Drupal, en injectant une condition SQL malformée qui provoque une erreur HTTP 500 Internal Server Error dans les versions vulnérables, tandis que les versions corrigées nettoient correctement les clés de requête et empêchent l'exception.
Identifiant CVE : CVE-2026-9082
Identifiant SA-CORE : SA-CORE-2026-004
Score CVSS : 6.5 (MOYEN)
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Catégorie : Injection SQL
Impact : Contournement de l'authentification, divulgation d'informations, élévation de privilèges, exécution de code à distance (selon la configuration)
Versions affectées (noyau Drupal) :
>= 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.10Exécutez simplement
make
Nous fournissons un laboratoire de reproduction docker-compose utilisant :
Les deux configurations incluent :
/jsonapi/node/article sans authentification (configuration courante sur de nombreux sites Drupal)article pour garantir que le filtrage de /jsonapi/node/article fonctionne de manière réaliste
Les fichiers du site et le contenu de la base de données sont déjà préparés dans sites.tar.gz et init.sql.gzAu moment de la rédaction, Drupal 11.2.12 n'est pas encore disponible sur Docker Hub, nous construisons donc une image personnalisée installée avec composer