
Comprobador de Python de solo lectura que valida el comportamiento de omisión de autenticación de CVE-2026-20079 en Cisco FMC mediante la comparación de respuestas de sesión no autenticadas y de csm_processes.
Una pequeña utilidad de validación deliberadamente limitada para CVE-2026-20079, la vulnerabilidad de omisión de autenticación de Cisco Secure Firewall Management Center (FMC).
Este repositorio es un verificador, no un exploit.
No contiene las partes de escalada de sesión, escritura de archivos, ejecución de comandos o RCE de la cadena de vulnerabilidad.
El verificador envía dos solicitudes HTTPS a /help/about.cgi:
CGISESSID=csm_processes.Un hallazgo se marca como CONFIRMED solo cuando la segunda respuesta:
csm_processes.Esto proporciona una forma conservadora y de solo lectura de validar el comportamiento de omisión de autenticación que reproducimos en un laboratorio.
Un resultado negativo no prueba que el dispositivo esté parcheado.
El bypass documentado requiere que la sesión csm_processes creada al arrancar
permanezca en la base de datos de sesiones del dispositivo. La actividad
autenticada del panel/widget, la actividad de la interfaz gestionada en la nube
y la limpieza desencadenada por la autenticación pueden eliminarla. Una vez
eliminada, este bypass no puede usar esa sesión; un arranque posterior puede
recrearla en un dispositivo afectado. Esto no establece que cada inicio de
sesión exitoso deshabilite inmediatamente el bypass. Consulte
el análisis de prerrequisitos de VulnCheck.
Estado preferido para la validación controlada en laboratorio: probar un dispositivo recién reiniciado una vez que su interfaz web esté disponible, antes de que ningún usuario se autentique o interactúe con la interfaz web. Esta recomendación se deriva de los prerrequisitos de sesión publicados: aumenta la probabilidad de que la sesión creada al arrancar aún exista, pero no garantiza un resultado positivo.
Distinga el estado de prueba del resultado: un dispositivo recién reiniciado ofrece una mejor oportunidad de observar este comportamiento; un resultado negativo después del inicio de sesión o de la limpieza de sesión no establece que el dispositivo esté parcheado. Incluso un resultado negativo inmediatamente después del reinicio no es prueba del estado de parcheo.
Por ejemplo, un usuario se autentica y la actividad de la interfaz borra la
sesión. Si el verificador entonces recibe una redirección o HTTP 401/403,
informa NOT_CONFIRMED: negativo para el comportamiento observado,
potencialmente un falso negativo para la exposición a la vulnerabilidad.
La autenticación no es un parche.
El verificador no puede observar el historial de inicios de sesión ni la base
de datos de sesiones. Clasifica la respuesta HTTP, por lo que la autenticación
previa por sí sola no es motivo para forzar un resultado negativo. Otras
respuestas inesperadas permanecen como INCONCLUSIVE, y los fallos de solicitud
permanecen como ERROR.
Utilice el aviso de Cisco y el Software Checker para determinar la exposición al parche.
La versión pública intencionalmente no tiene funcionalidad para:
Solo se aceptan direcciones IP literales proporcionadas por el operador.
Las IP públicas requieren el flag explícito --allow-public.
requestsInstalar:
python3 -m pip install -r requirements.txt
IP privada/de laboratorio:
python3 CVE-2026-20079-checker.py --host 192.168.1.100
IP pública que está autorizado a evaluar:
python3 CVE-2026-20079-checker.py \
--host 203.0.113.10 \
--allow-public
Cree targets.txt:
# One literal IP address per line
192.168.1.100
192.168.1.101
Ejecute:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--json results.json \
--csv results.csv
Para una lista autorizada que contenga IP públicas:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--allow-public \
--workers 4 \
--json results.json
La herramienta intencionalmente no acepta rangos CIDR.
Los escaneos de un solo host muestran un bloque detallado. Ejemplo de salida usando
el dispositivo de laboratorio documentado (FMC 7.4.2 Build 172) y el objetivo de ejemplo 192.168.1.100:
[*] CVE-2026-20079 Read-Only Validation
[*] Target : 192.168.1.100
[*] Endpoint : /help/about.cgi
[*] Mode : Read-only / no exploitation
[+] Appliance : Cisco Secure Firewall Management Center for KVM
[+] Version : 7.4.2
[+] Build : 172
[+] Server : Mojolicious (Perl)
[*] Baseline HTTP : 302
[*] Session HTTP : 200
[*] Session Context : csm_processes
[*] Comparison : baseline=302 -> probe=200
[CONFIRMED] CVE-2026-20079 authentication-bypass behavior observed
[*] Reason : Server returned FMC content with HTTP 200 while explicitly identifying the csm_processes session context.
[*] Summary:
confirmed=1
not_confirmed=0
inconclusive=0
errors=0
[!] Note : NOT_CONFIRMED does not prove the appliance is patched
Los escaneos que usan --targets FILE muestran una tabla compacta con las columnas TARGET, RESULT,
VERSION, BASE y PROBE, seguidas de un resumen. Los detalles faltantes
aparecen como not observed en la vista detallada o - en la tabla. Las etiquetas de producto y
contexto de sesión son informativas; no cambian los criterios de detección.
JSON/CSV conservan todos los campos existentes y añaden product y session_context.
Ni un resultado negativo ni la falta de metadatos establecen el estado de parcheo.
| Resultado | Significado |
|---|---|
CONFIRMED | La respuesta observada coincide con el indicador de bypass de solo lectura utilizado por este verificador. |
NOT_CONFIRMED | La sonda devolvió una redirección o HTTP 401/403. El bypass no se observó; la sesión requerida puede estar ausente. Esto no equivale a "parcheado". |
INCONCLUSIVE | Se observó un comportamiento similar a FMC o inusual, pero el verificador no pudo confirmar la identidad de la sesión. |
ERROR | Un fallo de red/TLS/solicitud impidió una determinación. |
Códigos de salida:
0 — ningún hallazgo confirmado1 — todas las verificaciones fallaron con errores de solicitud2 — al menos un hallazgo confirmado64 — objetivo público proporcionado sin --allow-publicEl código de salida 0 significa que no hay ningún hallazgo confirmado, incluidos los escaneos con
resultados inconclusos o una mezcla de errores de solicitud y resultados no confirmados. No es un
veredicto sobre el estado de parcheo. De igual manera, vulnerable_behavior: false en una exportación significa
que no se cumplieron los criterios de confirmación.
Durante el desarrollo, el comportamiento de solo lectura se reprodujo contra:
Cisco Secure Firewall Management Center for KVM
7.4.2 Build 172
El propósito de documentar esa observación es la reproducibilidad; no es un sustituto de la información autoritativa de Cisco sobre versiones vulnerables/corregidas.
Consulte docs/LAB-NOTES.md.
Cisco califica CVE-2026-20079 como Crítica (CVSS 10.0) y afirma que la explotación exitosa puede resultar en acceso root. Cisco ha publicado correcciones/hot fixes y reporta explotación activa a partir de agosto de 2026.
Siga el aviso actual de Cisco y el Software Checker en lugar de depender únicamente de este escáner.
Ejecute esta utilidad solo contra sistemas que posea o para los que tenga autorización explícita de evaluar.
Las pruebas de seguridad de red pueden activar controles de monitoreo, límites de velocidad, procesos de respuesta a incidentes o sistemas de abuso de proveedores de servicios incluso cuando las solicitudes son de solo lectura.
MIT. Consulte LICENSE.