Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-22557-check — Detectar de forma segura si un controlador de UniFi Network Application es vulnerable a CVE-2026-22557 | Kitploit
Herramientas/GitHubGitHub/bishopfox/cve-2026-22557-check
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHubbishopfox/cve-2026-22557-check

CVE-2026-22557-check

Detectar de forma segura si un controlador de UniFi Network Application es vulnerable a CVE-2026-22557

Ver Repositorio
14hace 4 mesesAú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

Herramienta de Evaluación de Vulnerabilidad CVE-2026-22557

Detecte de forma segura si un controlador UniFi Network Application es vulnerable a CVE-2026-22557 sin causar ninguna interrupción. Consulte el artículo completo en el blog de Bishop Fox.

Descripción

CVE-2026-22557 es una vulnerabilidad de path-traversal no autenticado en el portal cautivo de invitados de UniFi Network Application que permite a atacantes remotos leer archivos arbitrarios como el usuario del proceso del controlador (CVSS 10.0). La vulnerabilidad afecta a UniFi Network Application 10.1.85 y anteriores en la rama 10.1.x, y las versiones anteriores correspondientes en las ramas 10.2.x y 9.0.x. Ubiquiti publicó correcciones en 10.1.89, 10.2.97 y 9.0.118 (SAB-062).

El renderizador de página de error del portal de invitados lee el parámetro de solicitud page_error y lo utiliza textualmente como una ruta relativa en el cargador de recursos del portal, sin validación. Cuando portal_customized: true está establecido en el sitio consultado (la configuración que tiene cualquier portal cautivo personalizado, como una implementación de hotel, tienda o cafetería), el cargador resuelve esa ruta contra el directorio del portal en disco, y la ruta puede escapar de él.

Esta herramienta realiza pruebas de vulnerabilidad no destructivas mediante:

  1. Leer la versión reportada del controlador desde /status y compararla con las líneas de corrección de SAB-062
  2. Confirmar que el portal de invitados se distribuye en la URL proporcionada
  3. Probar el parámetro page_error en /guest/<site>/wechat/sign con profundidades ../ de 1 a 8 contra un nombre de archivo de doble rama, para determinar si el path-traversal se dispara en absoluto
  4. Si el path-traversal se dispara, realizar una lectura adicional contra un archivo de catálogo de tiempo de ejecución no sensible (firmware.json) para determinar si la rama del sistema de archivos del portal personalizado está activa

La herramienta solicita solo el archivo de catálogo de tiempo de ejecución como oráculo de rama activa. No lee credenciales, material TLS, estado de la base de datos ni copias de seguridad, y no escribe ningún contenido de archivo en la salida estándar ni en disco. Solo se imprime el veredicto.

  • Controladores vulnerables con portal_customized: true en el sitio consultado devuelven el archivo de catálogo a la profundidad calibrada, confirmando VULNERABLE.
  • Controladores parcialmente expuestos que ejecutan una compilación vulnerable pero con portal_customized: false en el sitio consultado activan el path-traversal en el paso de calibración pero no devuelven contenido de disco en el paso de confirmación → PARCIALMENTE EXPUESTO. El binario de la aplicación sigue siendo vulnerable; se requiere parche incluso si este sitio no está en el estado explotable.
  • Controladores parcheados (10.1.89+ / 10.2.97+ / 9.0.118+) rechazan el path-traversal en cada profundidad → NO VULNERABLE.
  • Sitios o conectores inalcanzables producen NO EXPUESTO.

Instalación

git clone https://github.com/BishopFox/CVE-2026-22557-check
cd CVE-2026-22557-check

Se requiere Python 3.9+. La herramienta utiliza solo la biblioteca estándar de Python, por lo que no se necesita ningún paso de pip install.

Uso

Pruebe un controlador de UniFi Network Application en <TARGET>. Apunte la herramienta a la URL que llegue al controlador; el manejador vulnerable se distribuye en el puerto de administración (predeterminado 8443/TCP) así como en los puertos dedicados del portal de invitados (8843, 8880).

python3 cve_2026_22557_check.py <BASE_URL> [--site NOMBRE]

El slug de sitio predeterminado es default. Las implementaciones de UniFi con múltiples sitios configurados deben volver a ejecutar la herramienta con --site <nombre> para cada uno. Un controlador es explotable tan pronto como cualquier sitio tenga portal_customized: true.

Los ejemplos a continuación utilizan --brief para un resultado de una línea por host. Ejecute sin --brief para obtener el banner completo, el progreso paso a paso y un bloque de resultados que incluye acciones de remediación recomendadas.

Ejemplo: Controlador Vulnerable

El controlador está en una compilación vulnerable y la condición previa del portal personalizado está activa para el sitio consultado, por lo que la ruta de lectura no autenticada es alcanzable.

$ python3 cve_2026_22557_check.py https://192.168.1.100:8443 --brief
[VULNERABLE]        https://192.168.1.100:8443 site=default

Ejemplo: Controlador Parcialmente Expuesto

El controlador está en una compilación vulnerable, pero el sitio consultado no tiene portal_customized: true habilitado, por lo que la condición previa de lectura de disco no se cumple para este sitio. El binario de la aplicación aún necesita ser parcheado; otro sitio en el mismo controlador puede seguir estando en el estado explotable.

$ python3 cve_2026_22557_check.py https://192.168.1.100:8443 --brief
[PARTIAL]           https://192.168.1.100:8443 site=default

Ejemplo: Controlador Parcheado

El controlador está en una compilación corregida (10.1.89, 10.2.97, 9.0.118 o posterior), por lo que el path-traversal no se dispara en ninguna profundidad consultada.

$ python3 cve_2026_22557_check.py https://192.168.1.200:8443 --brief
[NOT VULNERABLE]    https://192.168.1.200:8443 site=default

Opciones

--site NOMBRE      Slug de sitio de UniFi a sondear (predeterminado: "default")
--max-depth N      Profundidad máxima de traversal ../ a intentar (predeterminado: 8)
--no-tls-recon     Omitir visualización de sujeto/SAN del certificado TLS
--no-color         Deshabilitar salida de color ANSI (también respeta la variable de entorno NO_COLOR)
--timeout N        Tiempo de espera por solicitud en segundos (predeterminado: 20)
--brief            Imprimir un resultado de una sola línea, sin banner ni pasos

Códigos de salida: 0 VULNERABLE, 1 parcialmente expuesto / no vulnerable / no expuesto, 2 error de transporte.

Precondiciones

La herramienta solo puede devolver un veredicto VULNERABLE si se cumplen las siguientes condiciones:

  • El objetivo está ejecutando una compilación vulnerable de UniFi Network Application (10.1.85 o anterior en la rama 10.1.x, o las versiones puntuales anteriores equivalentes en 10.2.x / 9.0.x).
  • El portal de invitados es accesible en la URL proporcionada. El manejador /guest/* se distribuye en el puerto de administración (8443) así como en los puertos dedicados del portal de invitados (8843, 8880); la herramienta solo sondea la URL que se le proporciona.
  • El sitio consultado tiene portal_customized: true en su configuración guest_access, que es la condición previa para la ruta de código de lectura de disco. Un controlador con múltiples sitios es explotable si cualquier sitio tiene esto habilitado.

Si no se cumple alguna condición, la herramienta pasa a un veredicto más conservador. Un resultado PARCIALMENTE EXPUESTO aún significa que la aplicación es vulnerable y debe ser parcheada; el sitio consultado simplemente no expone la ruta de lectura de disco.

Remediación

Descargar herramienta