Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-92805 — PoC en Python para CVE-2026-92805: el XHR del asistente de instalación no autenticado de UVdesk permite la reescritura de DATABASE_URL y la creación de ROLE_SUPER_ADMIN mediante los modos fingerprint y admin. | Kitploit
Herramientas/GitHubGitHub/cflowsec/cve-2026-92805
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAutenticación
GitHubcflowsec/cve-2026-92805

CVE-2026-92805

PoC en Python para CVE-2026-92805: el XHR del asistente de instalación no autenticado de UVdesk permite la reescritura de DATABASE_URL y la creación de ROLE_SUPER_ADMIN mediante los modos fingerprint y admin.

Ver Repositorio
hace 11h 32mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-92805

POC de superadministrador mediante el asistente no autenticado de UVdesk

UVdesk Community Skeleton hasta la versión 1.1.8 — el XHR del asistente de instalación (ConfigureHelpdesk) no tiene autenticación ni comprobación del estado de instalación. Un atacante no autenticado puede reescribir DATABASE_URL y crear un ROLE_SUPER_ADMIN. No existe una etiqueta pública con el parche (v1.1.9 devuelve 404).

Solo para pruebas autorizadas. No ejecutes esto contra sistemas que no sean de tu propiedad o para los que no tengas permiso de prueba.

Requiere: Python 3, solo biblioteca estándar.

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
FlagQué hace
-u / --urlURL base del helpdesk (obligatorio). http:// o https://. Un nombre de host sin esquema se prueba primero como HTTPS y luego como HTTP. Las redirecciones http→https conservan el POST. Los certificados TLS incorrectos se reintentan sin verificación; --insecure omite la verificación desde el principio
--testSolo fingerprinting: POST /wizard/xhr/check-requirements (specification=php-version). Sin escritura de .env, sin usuario
--adminCadena completa del asistente: almacena la BD + superusuario en la sesión PHP, escribe DATABASE_URL, migra, crea ROLE_SUPER_ADMIN
--email / --password / --nameSuperadministrador a crear (por defecto [email protected] / PwnedAdmin1! / Pwned Admin)
--db-host / --db-port / --db-user / --db-pass / --db-nameMySQL tal como lo ve la aplicación PHP (por defecto 127.0.0.1:3306 / uvdesk / uvdesk / uvdesk)
--create-dbPide al asistente que ejecute CREATE DATABASE si falta el esquema
--insecureOmite la verificación TLS
--timeoutSegundos de timeout HTTP (por defecto 120; las migraciones pueden ser lentas)

Endpoint de --test: POST /wizard/xhr/check-requirements. Un JSON 200 con "version" / "status" es PRESENT / VULNERABLE. Nunca accede a load/configurations ni a load/super-user. Tras una instalación finalizada, GET / redirige fuera del HTML del asistente; las rutas XHR siguen respondiendo. Ese es el fallo.

--admin no está autenticado. El asistente cree que es el instalador de primera ejecución. --db-* no es un cliente MySQL en tu máquina; se envían a la aplicación para que PHP pueda conectarse (el caso habitual es 127.0.0.1 en el mismo host).

No tienes que descubrir un nombre de esquema existente. --db-name es un nombre que tú eliges (por defecto uvdesk). --create-db establece el flag createDatabase del asistente para que PHP ejecute CREATE DATABASE si ese nombre no existe. Sin --create-db, un nombre inexistente da NEED_DB ("The requested database was not found"). Crear un nombre nuevo requiere un usuario MySQL con CREATE (un uvdesk@localhost restringido que solo tiene permisos sobre uvdesk.* puede reutilizar uvdesk, pero puede que no pueda crear uvdesk_pwn). --test nunca se comunica con MySQL.

Si ya existe un superadministrador en ese esquema, load/super-user no hace nada — --create-db junto con un --db-name nuevo levanta un esquema propio y apunta DATABASE_URL a él.

Salida estándar: UVDESK, WIZARD_PAGE, PHP, STATUS, PRESENT, VULNERABLE, NOT_VULNERABLE, NOT_FOUND, NEED_DB, ADMIN, LOGIN.

Working PoC

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

Descargar herramienta