Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-92805 — PoC Python per CVE-2026-92805: la procedura guidata di installazione XHR non autenticata di UVdesk consente la riscrittura di DATABASE_URL e la creazione di ROLE_SUPER_ADMIN tramite le modalità fingerprint e admin. | Kitploit
Strumenti/GitHubGitHub/cflowsec/cve-2026-92805
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingAutenticazione
GitHubcflowsec/cve-2026-92805

CVE-2026-92805

PoC Python per CVE-2026-92805: la procedura guidata di installazione XHR non autenticata di UVdesk consente la riscrittura di DATABASE_URL e la creazione di ROLE_SUPER_ADMIN tramite le modalità fingerprint e admin.

Vedi Repository
11h 32m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-92805

POC super-admin del wizard non autenticato di UVdesk

UVdesk Community Skeleton fino alla versione 1.1.8 — la XHR del wizard di installazione (ConfigureHelpdesk) non ha autenticazione né controllo dello stato di installazione. Un chiamante non autenticato può riscrivere DATABASE_URL e creare un ROLE_SUPER_ADMIN. Non esiste un tag pubblico con la patch (v1.1.9 restituisce 404).

Solo per test autorizzati. Non eseguire questo strumento contro sistemi di cui non sei proprietario o per cui non hai il permesso di eseguire test.

Requisiti: Python 3, solo libreria standard.

root@kitploit:~
python3 cve-2026-92805-uvdesk-wizard-admin.py -u http://TARGET --test
python3 cve-2026-92805-uvdesk-wizard-admin.py -u http://TARGET --admin --email [email protected] --password 'PwnedAdmin1!'
python3 cve-2026-92805-uvdesk-wizard-admin.py -u https://TARGET --test --insecure
python3 cve-2026-92805-uvdesk-wizard-admin.py -u TARGET --test
FlagCosa fa
-u / --urlURL di base dell'helpdesk (obbligatorio). http:// o https://. Un hostname senza schema viene provato prima come HTTPS, poi come HTTP. I redirect http→https mantengono il POST. I certificati TLS non validi vengono ritentati senza verifica; --insecure salta la verifica fin dall'inizio
--testSolo fingerprinting: POST /wizard/xhr/check-requirements (specification=php-version). Nessuna scrittura di .env, nessun utente
--adminCatena completa del wizard: memorizza DB + super-user nella sessione PHP, scrive DATABASE_URL, esegue la migrazione, crea ROLE_SUPER_ADMIN
--email / --password / --nameSuper-admin da creare (valori predefiniti [email protected] / PwnedAdmin1! / Pwned Admin)
--db-host / --db-port / --db-user / --db-pass / --db-nameMySQL come lo vede l'app PHP (valori predefiniti 127.0.0.1:3306 / uvdesk / uvdesk / uvdesk)
--create-dbChiede al wizard di eseguire CREATE DATABASE se lo schema è mancante
--insecureSalta la verifica TLS
--timeoutTimeout HTTP in secondi (predefinito 120; le migrazioni possono essere lente)

Endpoint di --test: POST /wizard/xhr/check-requirements. Un JSON 200 con "version" / "status" è PRESENT / VULNERABLE. Non tocca mai load/configurations o load/super-user. Dopo un'installazione completata, GET / reindirizza lontano dall'HTML del wizard; le route XHR rispondono comunque. Questo è il bug.

--admin non è autenticato. Il wizard pensa di essere l'installer di primo avvio. --db-* non è un client MySQL sulla tua macchina; vengono inviati all'app in modo che PHP possa connettersi (il caso tipico è 127.0.0.1 sullo stesso host).

Non devi scoprire il nome di uno schema esistente. --db-name è un nome che scegli tu (predefinito uvdesk). --create-db imposta il flag createDatabase del wizard in modo che PHP esegua CREATE DATABASE se quel nome è mancante. Senza --create-db, un nome mancante restituisce NEED_DB ("The requested database was not found"). Creare un nome nuovo richiede un utente MySQL con privilegio CREATE (un uvdesk@localhost bloccato che ha diritti solo su uvdesk.* può riutilizzare uvdesk, ma potrebbe non poter creare uvdesk_pwn). --test non comunica mai con MySQL.

Se su quello schema esiste già un super-admin, load/super-user è un no-op — --create-db più un nuovo --db-name crea uno schema di tua proprietà e punta DATABASE_URL ad esso.

Stdout: UVDESK, WIZARD_PAGE, PHP, STATUS, PRESENT, VULNERABLE, NOT_VULNERABLE, NOT_FOUND, NEED_DB, ADMIN, LOGIN.

Working PoC

CVE: CVE-2026-92805. Prodotto: uvdesk/community-skeleton.

Scarica lo strumento