
Exploit de prueba de concepto para el bypass de autenticación de UniFi OS CVE-2026-34910 que permite la inyección de comandos/RCE, y el path traversal de CVE-2026-34909 para la lectura de archivos arbitrarios.
Prueba de concepto para pruebas autorizadas de dos vectores identificados como:
CVE-2026-34910: bypass de autenticación que puede derivar en inyección de comandos y ejecución remota de código a través del manejador de actualización de paquetes.CVE-2026-34909: path traversal que puede derivar en lectura arbitraria de archivos a través del alias app-assets.Este script está destinado a la validación de seguridad en dispositivos y redes que usted posee o para los cuales tiene autorización explícita de prueba. No lo utilice contra sistemas de terceros.
1.0.0Los valores CVSS y el estado de las vulnerabilidades deben verificarse contra los avisos del proveedor y las versiones de firmware relevantes antes de utilizarlos en informes.
Este script puede enviar comandos al objetivo y leer el contenido de archivos del objetivo. El impacto puede incluir cambios en el sistema, divulgación de información sensible, interrupción del servicio o daño de datos.
Antes de ejecutar las pruebas:
El script solo utiliza la biblioteca estándar de Python, por lo que no hay pasos adicionales de instalación de paquetes.
Clone el repositorio o copie el script a la máquina de pruebas y, a continuación, acceda al directorio del proyecto:
git clone <URL-REPOSITORI>
cd CVE-2026-34910
No se requiere pip install. Asegúrese de que el intérprete utilizado sea el adecuado:
python3 --version
Formato general:
python3 CVE-2026-34910.py <target> [command] [options]
target debe ser una URL con esquema http:// o https://, por ejemplo https://192.0.2.10:11443.
Ejecuta la sonda sin enviar comandos adicionales:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check
El segundo argumento posicional se trata como un comando enviado al objetivo. Utilice únicamente comandos no destructivos que hayan sido aprobados:
python3 CVE-2026-34910.py https://192.0.2.10:11443 "id"
La opción --proof solicita al objetivo crear un archivo de prueba en /tmp/PWNED_34910:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --proof
Verifique y elimine el archivo de prueba mediante los procedimientos de acceso aprobados. No considere la respuesta HTTP 200 como única evidencia de que el comando se ejecutó correctamente.
python3 CVE-2026-34910.py https://192.0.2.10:11443 --read /etc/hostname
El script imprime como máximo 800 caracteres de la respuesta del archivo.
Agregue --verbose o -v para ver los detalles de la solicitud y la respuesta:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check --verbose
Tenga en cuenta que la salida verbosa puede contener URL, parámetros o datos de respuesta sensibles.
| Opción | Descripción |
|---|---|
target | URL objetivo con esquema HTTP o HTTPS |
command | Comando probado a través del vector CVE-2026-34910 |
--check | Ejecuta únicamente la sonda de bypass de autenticación |
--proof | Solicita la creación de un archivo de prueba en el objetivo |
--read PATH | Prueba la lectura de archivos mediante path traversal |
-v, --verbose | Muestra información de depuración adicional |
-h, --help | Muestra la ayuda de uso |
Utilice solo un modo de operación por ejecución. El programa devuelve el código de salida 0 si la operación se considera exitosa, 1 si el objetivo no presenta indicios de ser vulnerable o si los argumentos están incompletos, y 2 si se produce un error inesperado. La interrupción por parte del usuario devuelve 130.
--check examina la respuesta en busca de un marcador que indique que se alcanzó el manejador.pkg_name y lo envía al endpoint de actualización de paquetes.--read construye un path traversal hacia el alias app-assets y muestra la respuesta de forma limitada.La implementación se encuentra íntegramente en CVE-2026-34910.py.
200 en el modo RCE indica que el manejador recibió la solicitud, no que el comando se haya completado según lo esperado.Para los dispositivos que se encuentran dentro del alcance de las pruebas:
El informe de pruebas debe registrar:
Para la divulgación responsable de vulnerabilidades, utilice los canales de seguridad oficiales del proveedor y coordine la divulgación de acuerdo con las políticas aplicables.
Aún no se ha definido una licencia para este proyecto. Agregue un archivo de licencia antes de distribuir o utilizar este código en otros proyectos.
Gagaltotal666 - GhostGTR666
Repositorio relacionado: github.com/gagaltotal