
Python PoC y plantilla de Nuclei para detectar inyección SQL pre-autenticación en FortiClient EMS 7.4.4, con métodos seguros de verificación basados en errores y en tiempo.
Este repositorio contiene herramientas de detección para CVE-2026-21643, una vulnerabilidad de inyección SQL previa a la autenticación en FortiClient EMS 7.4.4.
La vulnerabilidad existe en los endpoints /api/v1/init_consts y /api/v1/auth/signin, donde el encabezado HTTP Site se pasa directamente a una consulta PostgreSQL SET search_path sin saneamiento.
cve_2026_21643.py: Un script de Python para comprobar la vulnerabilidad utilizando métodos basados en errores (seguro) y basados en tiempo (provoca bloqueo).CVE-2026-21643.yaml: Una plantilla de Nuclei de ProjectDiscovery que utiliza el método seguro de extracción basado en errores.Instala las dependencias requeridas:
pip install -r requirements.txt
Ejecuta el script contra un objetivo:
# Predeterminado (Comprobación segura basada en errores en /api/v1/init_consts)
python3 cve_2026_21643.py -u https://target.com
# Comprobación basada en tiempo en /api/v1/auth/signin (Advertencia: Provoca bloqueo después de 3 intentos)
python3 cve_2026_21643.py -u https://target.com -e signin
# Comprobar ambos endpoints
python3 cve_2026_21643.py -u https://target.com] -e both
Puedes ejecutar la plantilla YAML incluida directamente con Nuclei:
nuclei -t CVE-2026-21643.yaml -u https://target.com