
Proof-of-concept exploit per UniFi OS CVE-2026-34910 bypass dell'autenticazione che consente iniezione di comandi/RCE, e CVE-2026-34909 path traversal per lettura arbitraria di file.
Proof of concept per test autorizzati su due percorsi identificati come:
CVE-2026-34910: bypass dell'autenticazione che può portare a command injection ed esecuzione remota di codice tramite l'handler di aggiornamento dei pacchetti.CVE-2026-34909: path traversal che può portare alla lettura arbitraria di file tramite l'alias app-assets.Questo script è destinato alla validazione della sicurezza su dispositivi e reti di tua proprietà o per i quali hai esplicitamente l'autorizzazione al test. Non utilizzarlo contro sistemi di terze parti.
1.0.0I valori CVSS e lo stato delle vulnerabilità devono essere verificati rispetto agli advisory del vendor e alle versioni firmware pertinenti prima di essere utilizzati nei report.
Questo script può inviare comandi al target e leggere il contenuto di file dal target. L'impatto può includere modifiche al sistema, divulgazione di informazioni sensibili, interruzione dei servizi o danneggiamento dei dati.
Prima di eseguire i test:
Lo script utilizza solo la libreria standard di Python, quindi non sono necessari passaggi di installazione di pacchetti aggiuntivi.
Clona il repository o copia lo script sulla macchina di test, quindi entra nella directory del progetto:
git clone <URL-REPOSITORI>
cd CVE-2026-34910
Non è richiesto pip install. Assicurati che l'interprete utilizzato sia appropriato:
python3 --version
Formato generale:
python3 CVE-2026-34910.py <target> [command] [options]
target deve essere un URL con schema http:// o https://, ad esempio https://192.0.2.10:11443.
Esegue il probe senza inviare comandi aggiuntivi:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check
Il secondo argomento posizionale viene trattato come un comando inviato al target. Utilizza solo comandi non distruttivi e approvati:
python3 CVE-2026-34910.py https://192.0.2.10:11443 "id"
L'opzione --proof richiede al target di creare un file proof in /tmp/PWNED_34910:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --proof
Verifica e rimuovi il file proof tramite le procedure di accesso approvate. Non considerare la risposta HTTP 200 come unica prova che il comando sia riuscito.
python3 CVE-2026-34910.py https://192.0.2.10:11443 --read /etc/hostname
Lo script stampa al massimo 800 caratteri della risposta del file.
Aggiungi --verbose o -v per visualizzare i dettagli di richieste e risposte:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check --verbose
Nota che l'output verbose può contenere URL, parametri o dati di risposta sensibili.
| Opzione | Descrizione |
|---|---|
target | URL del target con schema HTTP o HTTPS |
command | Comando testato tramite il percorso CVE-2026-34910 |
--check | Esegue solo il probe di bypass dell'autenticazione |
--proof | Richiede la creazione di un file proof sul target |
--read PATH | Testa la lettura di file tramite path traversal |
-v, --verbose | Mostra informazioni di debug aggiuntive |
-h, --help | Mostra l'aiuto per l'utilizzo |
Utilizza una sola modalità operativa per ogni esecuzione. Il programma restituisce il codice di uscita 0 se l'operazione è considerata riuscita, 1 se il target non risulta vulnerabile o se gli argomenti sono incompleti, e 2 in caso di errore imprevisto. L'interruzione da parte dell'utente restituisce 130.
--check esamina la risposta per individuare marker che indicano che l'handler è stato raggiunto.pkg_name e lo invia all'endpoint di aggiornamento dei pacchetti.--read costruisce un path traversal verso l'alias app-assets e mostra la risposta in modo limitato.L'implementazione è interamente contenuta in CVE-2026-34910.py.
200 in modalità RCE indica che la richiesta è stata ricevuta dall'handler, non che il comando sia stato completato come previsto.Per i dispositivi inclusi nell'ambito del test:
Il report di test dovrebbe documentare:
Per la segnalazione responsabile delle vulnerabilità, utilizza i canali di sicurezza ufficiali del vendor e coordina la divulgazione secondo le politiche applicabili.
Per questo progetto non è stata definita alcuna licenza. Aggiungi un file di licenza prima di distribuire o utilizzare questo codice in altri progetti.
Gagaltotal666 - GhostGTR666
Repository correlato: github.com/gagaltotal