Cuando una vulnerabilidad llega al catálogo de CISA KEV (Known Exploited Vulnerabilities), deja de ser una nota de seguridad y se convierte en una prioridad operativa. CVE-2024-9465 es exactamente ese caso: un SQL Injection en Palo Alto Networks Expedition que no requiere ninguna credencial para ser explotado y que expone todo lo que no quieres que nadie vea — hashes de passwords, configuraciones de firewall y API keys de tus dispositivos PAN-OS.
Si usas Expedition para migrar o gestionar configuraciones de firewall Palo Alto, lee esto antes de hacer cualquier otra cosa hoy.
¿Qué es Palo Alto Networks Expedition?
Expedition es una herramienta de migración y optimización de configuraciones que usan los administradores de Palo Alto Networks para:
- Migrar configuraciones desde otros vendors (Cisco, Check Point, Fortinet) hacia PAN-OS
- Analizar y optimizar reglas de firewall existentes
- Convertir políticas de seguridad a formato PAN-OS
Por su naturaleza, Expedition tiene acceso a configuraciones completas de firewall, credenciales y API keys. Eso es exactamente lo que hace esta vulnerabilidad tan severa.
Detalles técnicos de la vulnerabilidad
La vulnerabilidad está clasificada como CWE-89 (SQL Injection), y afecta a las versiones 1.2.0 hasta 1.2.95 de Expedition. El vector de ataque es completamente externo y no requiere autenticación previa.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:H/SI:N/SA:NCVSS v3.1: 9.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NNetwork · Low Complexity · No Privileges Required · No User Interaction
Un atacante que tenga acceso de red a la interfaz web de Expedition puede inyectar sentencias SQL maliciosas y obtener:
- Hashes de contraseñas de todos los usuarios de Expedition
- Usernames y credenciales almacenadas en la base de datos
- Configuraciones completas de dispositivos PAN-OS
- API keys de dispositivos — esto permite control directo sobre los firewalls
- Crear y leer archivos arbitrarios en el sistema Expedition
Versiones afectadas y fix disponible
AFECTADAS: Palo Alto Networks Expedition 1.2.0 — 1.2.95
PARCHEADA: Palo Alto Networks Expedition 1.2.96 y superior
Publicado: 10 septiembre 2024
CISA KEV: Fecha límite de remediación: 28 octubre 2024
Cómo verificar tu versión de Expedition
Desde la interfaz web de Expedition, navega a Help → About para ver la versión instalada. También puedes verificarlo desde el servidor:
# Verificar versión de Expedition (desde el servidor donde está instalado)
cat /var/www/html/Expedition/version.txt
# O consultar directamente el servicio
curl -sk https://localhost/Expedition/index.php | grep -i version
Recomendaciones técnicas de mitigación
1. Parchar de inmediato (prioridad absoluta)
Descarga Expedition 1.2.96+ desde el Customer Support Portal de Palo Alto Networks y aplica la actualización. El proceso de upgrade preserva las configuraciones existentes.
# Antes del upgrade: hacer backup de la BD de Expedition
mysqldump -u root -p expedition > expedition_backup_$(date +%Y%m%d).sql
# Verificar integridad del backup
gzip expedition_backup_$(date +%Y%m%d).sql
2. Aislar la interfaz de Expedition a nivel de red
Expedition nunca debe ser accesible desde Internet. Si lo está, es tu problema número uno ahora mismo, antes incluso del parche.
# Regla de ejemplo en iptables para restringir acceso solo a IPs de administración
# Reemplaza 10.10.10.0/24 con tu rango de gestión real
iptables -A INPUT -p tcp --dport 443 -s 10.10.10.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
iptables -A INPUT -p tcp --dport 80 -j DROP
# Guardar reglas
iptables-save > /etc/iptables/rules.v4
3. Rotar todas las credenciales y API keys expuestas
Si Expedition estuvo expuesto a redes no confiables, asume compromiso. Rota lo siguiente:
# Regenerar API key de un dispositivo PAN-OS vía CLI (ejecutar en el firewall)
# Primero identifica qué usuarios tienen API keys generadas
show admins
# Regenerar API key para un usuario específico (requiere reinicio de sesión)
# Desde la GUI: Device > Administrators > [usuario] > Generate API Key
# Via API: generar nueva key para el usuario admin
curl -k -X GET "https://<FIREWALL-IP>/api/?type=keygen&user=admin&password=<NEW-PASSWORD>"
- Credenciales de todos los usuarios en Expedition
- API keys de todos los dispositivos PAN-OS gestionados por Expedition
- Contraseñas de administrador de los firewalls si estaban almacenadas en Expedition
- Credenciales de integración con Panorama, si aplica
4. Revisar logs de acceso en busca de explotación
Busca patrones de SQL injection en los logs del servidor web de Expedition:
# Revisar logs de Apache/Nginx en busca de payloads SQLi comunes
grep -iE "(union|select|insert|drop|--\s|1=1|or\s1|benchmark|sleep\()" \
/var/log/apache2/access.log | tail -100
# Revisar IPs que hicieron requests anómalos al endpoint vulnerable
# (el endpoint reportado en el PoC público de Horizon3)
grep -i "/Expedition/" /var/log/apache2/access.log | \
awk '{print $1}' | sort | uniq -c | sort -rn | head -20
# Verificar si hay archivos creados recientemente en directorios web
find /var/www/html/Expedition/ -newer /var/www/html/Expedition/index.php \
-type f -ls 2>/dev/null
5. Monitoreo con reglas de detección (SIEM)
Si tienes un SIEM o stack de logging centralizado, agrega detección para actividad post-explotación:
# Sigma rule (simplificada) para detección de SQLi en Expedition
title: Possible CVE-2024-9465 Exploitation Attempt
status: experimental
logsource:
product: webserver
detection:
keywords:
- 'UNION SELECT'
- 'information_schema'
- '1=1--'
- 'SLEEP('
- 'BENCHMARK('
url_contains: '/Expedition/'
condition: keywords and url_contains
falsepositives:
- Security scanners authorized
level: high
6. Validar la configuración de los firewalls gestionados
Si sospechas que las API keys fueron comprometidas, revisa los logs de auditoría de tus firewalls PAN-OS para detectar cambios no autorizados:
# Revisar log de configuración en PAN-OS (via CLI en el firewall)
show config audit last 100
# Ver cambios de configuración recientes con timestamp y usuario
show log config direction equal forward | match "admin\|api"
# Exportar log de auditoría completo para análisis
scp admin@<FIREWALL-IP>:/var/log/pan/configcmd.log ./audit_$(date +%Y%m%d).log
Indicadores de compromiso (IOCs)
Horizon3.ai publicó un PoC funcional para esta vulnerabilidad. Estos son los patrones a buscar en tus logs:
# User-Agents asociados a herramientas de explotación automatizada
python-requests/
curl/
Go-http-client/
# Parámetros HTTP sospechosos en requests a Expedition
?projectId=1 UNION SELECT
?type=&query=SELECT+*+FROM
?id=1; DROP TABLE
# Archivos webshell comunes que el exploit puede depositar
/var/www/html/Expedition/*.php (archivos recién creados)
/tmp/*.php
Checklist de respuesta rápida
[ ] 1. Verificar versión de Expedition instalada
[ ] 2. Si versión < 1.2.96 → aislar de red inmediatamente
[ ] 3. Revisar logs de acceso por actividad sospechosa
[ ] 4. Aplicar parche a Expedition 1.2.96+
[ ] 5. Rotar API keys de todos los dispositivos PAN-OS en Expedition
[ ] 6. Rotar credenciales de usuarios de Expedition
[ ] 7. Revisar logs de auditoría de configuración en firewalls
[ ] 8. Confirmar que Expedition solo es accesible desde red de gestión
[ ] 9. Agregar regla de detección en SIEM
[ ] 10. Documentar hallazgos y acciones tomadas
Conclusión
CVE-2024-9465 es un recordatorio de algo que veo con frecuencia en entornos de producción en LATAM: las herramientas de gestión y migración quedan expuestas en red después de un proyecto de implementación y nadie las revisa. Expedition no es una herramienta de producción permanente — es una herramienta de trabajo que debería vivir en una red de gestión aislada o directamente apagada cuando no se usa.
Si gestionas infraestructura Palo Alto y usas Expedition, este CVE es una deuda técnica que ya venció. El parche existe desde septiembre 2024. La pregunta no es si parchear — es si alguien ya lo explotó antes de que llegaras a este post.