
PoC para CVE-2026-9082 (Drupal SA-CORE-2026-004) inyección SQL del núcleo de Drupal
Aviso legal: Esta prueba de concepto es solo para fines educativos y de investigación. No utilice este software contra ningún sistema que no sea de su propiedad o para el que no tenga permiso explícito de prueba. El autor no asume ninguna responsabilidad por el mal uso o los daños causados por este proyecto.
Una prueba de concepto (poc.py) de CVE-2026-9082 (Drupal SA-CORE-2026-004), una vulnerabilidad crítica de inyección SQL en el núcleo de Drupal que puede permitir a un atacante enviar consultas SQL arbitrarias cuando Drupal está configurado para utilizar un backend de base de datos PostgreSQL.
Se origina en el traductor de condiciones de consulta de entidades PostgreSQL del núcleo de Drupal, donde las claves de array en un filtro IN de consulta de entidades pueden ser manipuladas por un atacante para inyectar fragmentos SQL arbitrarios.
Esta PoC interactúa con la capa JSON:API de Drupal, inyectando una condición SQL malformada que provoca un error interno del servidor HTTP 500 en las versiones vulnerables, mientras que las versiones parcheadas sanean correctamente las claves de consulta y evitan la excepción.
ID CVE: CVE-2026-9082
ID SA-CORE: SA-CORE-2026-004
Puntuación CVSS: 6.5 (MEDIA)
Vector CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Categoría: inyección SQL
Impacto: omisión de autenticación, divulgación de información, escalada de privilegios, ejecución remota de código (según la configuración)
Versiones afectadas (núcleo de 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.10Simplemente ejecute
make
Proporcionamos un laboratorio de reproducción docker-compose que utiliza :
Ambas configuraciones incluyen:
/jsonapi/node/article sin autenticación (configuración habitual en muchos sitios Drupal)article para garantizar que el filtrado de /jsonapi/node/article funcione de forma realista
Los archivos del sitio y el contenido de la base de datos ya están preparados en sites.tar.gz e init.sql.gzAl momento de redactar esto, Drupal 11.2.12 aún no está disponible en Docker Hub, por lo que creamos una imagen personalizada instalada con composer