Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-92805 — PoC Python pour CVE-2026-92805 : l'assistant d'installation XHR non authentifié d'UVdesk permet la réécriture de DATABASE_URL et la création de ROLE_SUPER_ADMIN via les modes fingerprint et admin. | Kitploit
Outils/GitHubGitHub/cflowsec/cve-2026-92805
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionAuthentification
GitHubcflowsec/cve-2026-92805

CVE-2026-92805

PoC Python pour CVE-2026-92805 : l'assistant d'installation XHR non authentifié d'UVdesk permet la réécriture de DATABASE_URL et la création de ROLE_SUPER_ADMIN via les modes fingerprint et admin.

Voir le dépôt
il y a 11h 32mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-92805

UVdesk unauth wizard super-admin POC

UVdesk Community Skeleton jusqu'à la version 1.1.8 — l'assistant d'installation XHR (ConfigureHelpdesk) n'a ni authentification ni vérification de l'état d'installation. Un appelant non authentifié peut réécrire DATABASE_URL et créer un ROLE_SUPER_ADMIN. Il n'existe aucun tag patché public (v1.1.9 renvoie 404).

Pour tests autorisés uniquement. Ne pas exécuter contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation de test.

Prérequis : Python 3, bibliothèque standard uniquement.

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
FlagCe qu'il fait
-u / --urlURL de base du helpdesk (requis). http:// ou https://. Un nom d'hôte sans schéma est essayé en HTTPS d'abord, puis en HTTP. Les redirections http→https conservent le POST. Les certificats TLS invalides sont retentés sans vérification ; --insecure ignore la vérification dès le départ
--testEmpreinte uniquement : POST /wizard/xhr/check-requirements (specification=php-version). Aucune écriture .env, aucun utilisateur
--adminChaîne complète de l'assistant : stocke la base de données + le super-utilisateur dans la session PHP, écrit DATABASE_URL, migre, crée ROLE_SUPER_ADMIN
--email / --password / --nameSuper-admin à créer (par défaut [email protected] / PwnedAdmin1! / Pwned Admin)
--db-host / --db-port / --db-user / --db-pass / --db-nameMySQL tel que l'application PHP le voit (par défaut 127.0.0.1:3306 / uvdesk / uvdesk / uvdesk)
--create-dbDemande à l'assistant d'exécuter CREATE DATABASE si le schéma est absent
--insecureIgnore la vérification TLS
--timeoutDélai HTTP en secondes (par défaut 120 ; les migrations peuvent être lentes)

Point de terminaison --test : POST /wizard/xhr/check-requirements. Un JSON 200 avec "version" / "status" correspond à PRESENT / VULNERABLE. Il ne touche jamais à load/configurations ni load/super-user. Après une installation terminée, GET / redirige hors du HTML de l'assistant ; les routes XHR répondent toujours. C'est le bug.

--admin est non authentifié. L'assistant croit être l'installateur de première exécution. Les --db-* ne sont pas un client MySQL sur votre machine ; ils sont envoyés à l'application pour que PHP puisse se connecter (le cas habituel étant 127.0.0.1 sur le même hôte).

Vous n'avez pas besoin de découvrir un nom de schéma existant. --db-name est un nom que vous choisissez (par défaut uvdesk). --create-db active le flag createDatabase de l'assistant pour que PHP exécute CREATE DATABASE si ce nom est absent. Sans --create-db, un nom absent donne NEED_DB (« The requested database was not found »). Créer un nouveau nom nécessite un utilisateur MySQL disposant de CREATE (un uvdesk@localhost verrouillé qui n'a de droits que sur uvdesk.* peut réutiliser uvdesk, mais peut ne pas pouvoir créer uvdesk_pwn). --test ne communique jamais avec MySQL.

Si un super-admin existe déjà sur ce schéma, load/super-user est un no-op — --create-db plus un --db-name neuf monte un schéma que vous possédez et pointe DATABASE_URL dessus.

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

Working PoC

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

Télécharger l’outil