
Report tecnico e PoC reverse-shell autenticato per CVE-2026-96515, una vulnerabilità di esecuzione di comandi come root nel gestore di importazione diagnostica BOA del router Netlink HG323RW.
Un utente web limitato autenticato può caricare uno script shell tramite l'handler di importazione diagnostica del Netlink HG323RW e far sì che il processo BOA con UID-0 lo esegua. Sono richiesti autenticazione e valori di verifica/CSRF validi; questo repository non rivendica l'esecuzione di codice pre-autenticazione.
| Campo | Valore |
|---|---|
| CVE | CVE-2026-96515 |
| Prodotto | Router Netlink ICT HG323RW |
| Hardware interessato | V3.7 |
| Firmware interessato | 3.1.02-260228 (Netlinkver) |
| Componente | bin/boa |
| Endpoint | /boaform/formImportOMCIShell |
| Accesso richiesto | Account web limitato autenticato sulla rete adiacente/privata |
| Impatto dimostrato | Il contenuto shell caricato viene eseguito come UID 0 |
| CWE | CWE-862 (Missing Authorization), CWE-434 (Unrestricted Upload of File with Dangerous Type) |
| CVSS | 8.6 Alto — CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Firmware corretto | 3.1.02-260904 (segnalato da CERT-In e ispezionato in modo indipendente; la verifica a runtime ha confermato che /boaform/formImportOMCIShell e /boaform/admin/formImportOMCIShell restituiscono entrambi HTTP 404) |
| Segnalatore | Muhammed Safvan |
CERT-In ha pubblicato la scheda il 24 settembre 2026 come advisory CIVN-2026-0473. Netlink elenca i download del firmware nella sua pagina firmware.
L'account limitato predefinito di fabbrica è provisionato in /etc/config_default.xml, e BOA crea /var/boaUser.passwd dai valori MIB configurati durante l'avvio. Dopo l'autenticazione come utente limitato, una richiesta può inviare un campo multipart denominato binary a formImportOMCIShell. Le evidenze dal bin/boa analizzato identificano la destinazione /tmp/omcishell e il sink di esecuzione /bin/sh /tmp/omcishell.
La trascrizione fornita del dispositivo autorizzato registra una shell con UID/GID reali, effettivi, saved-set e filesystem tutti a valore zero. Il codice sorgente C esatto e la cronologia delle release non erano disponibili, quindi le affermazioni sulle versioni interessate sono intenzionalmente limitate all'immagine analizzata. Sia l'archivio analizzato sia l'archivio corretto elencato dal CNA sono conservati sotto firmware/; la loro struttura, le versioni incorporate e i checksum sono stati verificati, ma la regressione dell'exploit non è stata rieseguita durante questa fase di packaging.
Leggi REPORT.md per l'analisi completa, i prerequisiti, i limiti delle evidenze e le indicazioni di remediation.
REPORT.md — report tecnico autonomo.poc/ — PoC reverse-shell autenticato su LAN privata e note d'uso.analysis/ — note di analisi statica sanitizzate per provisioning dell'account, routing e comportamento dei ruoli.binary/ — identificazione ristretta di BOA, stringhe ed evidenze di hash estratte dall'immagine analizzata.firmware/ — archivi firmware completi del vendor, vulnerabile e corretto, hash e avvertenze sull'aggiornamento.runtime/ — metadati firmware sanitizzati e provenienza della prova a runtime fornita.hashes/ — digest degli artefatti sorgente e risultati di verifica.MANIFEST-SHA256.txt — digest di ogni altro file tracciato nel repository.I due archivi firmware completi sono distribuiti senza alberi di lavoro estratti. Non sono inclusi sessioni attive, token CSRF, identificatori di dispositivo, dati dei clienti, password codificate esportate separatamente o credenziali non pubbliche. La coppia di credenziali predefinite di fabbrica è discussa perché è rilevante per la configurazione interessata. La ridistribuzione e l'uso del firmware restano soggetti ai termini del vendor.
Il PoC pubblico carica un payload reverse-shell fisso basato su FIFO e fornisce un listener interattivo, così i comandi inseriti dopo la connessione vengono eseguiti sul router. Rifiuta indirizzi target e di callback pubblici, richiede la password per impostazione predefinita e necessita di una conferma esplicita EXECUTE a meno che l'operatore fornisca l'override di automazione documentato. È stato sottoposto a controllo sintattico ma non è stato eseguito durante questo aggiornamento del repository. Usalo solo su un dispositivo di tua proprietà o che sei esplicitamente autorizzato a testare.
Un video dimostrativo fornito dal proprietario è stato conservato al di fuori di questo repository pubblico perché mostra un percorso locale e un contesto desktop specifici della macchina dell'autore. Il repository ora include il corrispondente codice sorgente del PoC reverse-shell; l'hash della registrazione e un riepilogo conservativo delle osservazioni sono conservati in runtime/video-observation.txt.