Cadena RCE en Palo Alto Networks Expedition: CVE-2024-9463 y CVE-2024-5910 Exponen Secretos Perimetrales
CVE-2024-9463 y CVE-2024-5910 (CWE-78 (Inyección de Comandos del SO) y CWE-306 (Falta de Autenticación))
Severity: CRÍTICA (CVSS 9.9 (CVE-2024-9463) / 9.3 (CVE-2024-5910))
Status: Bajo Explotación Activa en Internet; Añadido a CISA KEV con Mandato de Remediación Inmediata
Affected Systems: Palo Alto Networks Expedition en versiones anteriores a 1.2.92
Fixed In: Expedition 1.2.92 y parches posteriores
Palo Alto Networks emitió el boletín de seguridad urgente PAN-SA-2024-0010 alertando sobre ataques activos contra Expedition, la herramienta de migración utilizada por administradores para transferir configuraciones de cortafuegos de Cisco, Check Point y Fortinet a dispositivos PAN-OS y Panorama. Los atacantes están encadenando CVE-2024-5910 (omisión de autenticación para toma de control administrativo) y CVE-2024-9463 (inyección de comandos del sistema operativo con CVSS 9.9) para ejecutar comandos como root y sustraer contraseñas maestras y claves API de cortafuegos de producción.
Mecánica de la Inyección de Comandos en Expedition
El fallo principal, CVE-2024-9463, reside en endpoints de la API en PHP que concatenan parámetros sin desinfectar en llamadas al sistema operativo:
<?php
/* Endpoint vulnerable en el controlador de la API de Expedition */
if (isset($_GET['action']) && $_GET['action'] == 'test_connection') {
$target_host = $_POST['host']; // ENTRADA NO VALIDADA
$port = $_POST['port'];
// Concatenación directa sin escapar en comando de shell
$cmd = "nc -z -w 3 " . $target_host . " " . escapeshellarg($port);
$output = shell_exec($cmd);
echo json_encode(["status" => "success", "result" => $output]);
}
?>
Al enviar delimitadores como ; o $() en el parámetro host, un atacante remoto ejecuta comandos arbitrarios en el servidor. Al combinarse con CVE-2024-5910, que permite restablecer contraseñas administrativas sin verificar la sesión actual, los atacantes obtienen acceso completo como root.
Extracción de Claves API de PAN-OS
Una vez dentro del servidor de Expedition, los atacantes extraen la base de datos interna para capturar las credenciales de los cortafuegos migrados:
# Comando ejecutado para sustraer claves API de dispositivos gestionados
mysql -u root -p$(grep password /etc/mysql/debian.cnf | head -1 | awk '{print $3}') -e "SELECT device_name, ip_address, username, api_key FROM expedition.devices;"
Con estas claves API, los intrusos pueden interactuar directamente con los cortafuegos de producción, modificar reglas de filtrado o crear cuentas administrativas ocultas.
Protocolo de Remediación Obligatoria
- Actualización Inmediata: Actualizar Expedition a la versión 1.2.92 o superior de inmediato.
- Aislamiento de Red: Desconectar Expedition de la red corporativa cuando no se use activamente. Nunca exponer esta herramienta a Internet.
- Rotación Obligatoria de Credenciales: Asumir que cualquier cortafuegos gestionado en una instancia de Expedition no parcheada ha sido comprometido. Rotar todas las claves API de PAN-OS, contraseñas de cortafuegos y secretos de VPN de inmediato.