CVE-2025-3699: la puerta trasera (no intencionada) en los HVAC de Mitsubishi Electric

Los sistemas de climatización suelen pasar desapercibidos en un pentest. No corren WordPress, no abren puertos raros, y en muchos casos ni siquiera responden a los escaneos como una máquina viva. Pero en los entornos OT (Operational Technology), estos dispositivos no solo existen, sino que forman parte del corazón de la infraestructura física: están integrados con sistemas SCADA, supervisan zonas críticas y, para colmo, a veces están más expuestos que el router de tu vecino con contraseña "12345678".

Y justo ahí aparece CVE-2025-3699, una joyita recién salida del horno que afecta a una larga lista de controladores de aire acondicionado de Mitsubishi Electric. El fallo es simple en concepto pero devastador en impacto: autenticación completamente ausente en funciones críticas de la interfaz web de administración. Como lo oyes: puedes cambiar la temperatura de una planta industrial, apagar todo el sistema o extraer configuraciones internas sin necesidad de estar logueado. Ni cookies, ni tokens, ni nada.

El core del problema es un fallo clásico de tipo CWE-306: Missing Authentication for Critical Function. Algunos endpoints sensibles de los paneles de control (como los modelos AE-200, AG-150A, G-50, GB-50 y un largo etcétera) simplemente no verifican si el cliente está autenticado antes de ejecutar comandos.

Se ha observado que estas interfaces web corren en los puertos típicos (HTTP/HTTPS), ofreciendo servicios CGI o incluso REST (dependiendo del firmware), y aceptan parámetros vía GET o POST para comandos como set_temp, set_mode, power, get_status, y upload_config. Si te suena esto a "esto debería requerir una sesión activa", estás en lo cierto. Pero aquí no hay nada de eso. Nada.

Para colmo, en algunos modelos antiguos (hasta versiones 8.01), ni siquiera hay protección CSRF, y en los que sí hay login, la validación es puramente estética: puedes enviar las mismas peticiones directamente sin preocuparte por iniciar sesión.

Imaginemos que queremos cambiar por ejemplo la temperatura de un AACC de un edificio, ¿Tienes acceso a la red interna? ¿O hay uno de estos paneles expuesto en Shodan (spoiler: hay)?

En el primer caso podemos hacer un escaneo con Nmap buscando hosts con banners sospechosos:

nmap -p 80,443 --script http-title -Pn 192.168.0.0/16

Los paneles Mitsubishi devuelven títulos como AE-200 Web Controller, G-50A Interface o simplemente un logo minimalista en HTML plano. Una vez detectado uno, puedes usar Burp para interceptar la navegación inicial (si hay una pantalla de login falsa) y luego repetir las peticiones directamente sin cookies.

Si quieres ir más fino, puedes crear una regla NSE que busque directamente endpoints conocidos (/get_status, /cmd/, /control.cgi) o que analice las respuestas buscando ciertos headers propietarios. 

Una vez que lo tenemos, entonces podemos ejecutar comandos como estos:

curl -k http://<IP_PANEL>/set_mode?unit=1&mode=off curl -k http://<IP_PANEL>/set_temp?unit=2&temp=30

Sí, así de fácil. Nada de autenticación, ni headers especiales. Un par de peticiones y ya estás apagando el aire acondicionado de una sala de servidores. También puedes enumerar el estado actual del sistema:

curl -k http://<IP_PANEL>/get_status

En algunos modelos, incluso puedes descargar archivos de configuración que contienen rutas internas, configuraciones de red y, en ciertos casos, credenciales codificadas en Base64.

Ahora imagina esto en una red OT o de un edificio inteligente:

Tienes acceso a un sistema que, además de controlar el clima, puede estar integrado con sensores IoT, alarmas, puertas automáticas, etc. Este tipo de vulnerabilidad te permite:

  • Pivoting desde una interfaz HVAC hacia redes más críticas.

  • Alterar condiciones físicas (temperaturas, ventilación) como ataque de denegación de servicio persistente (DoS físico).

  • Obtener configuraciones internas, incluyendo rutas estáticas y credenciales para controladores Modbus o BACnet.

  • Posicionar payloads que modifiquen el comportamiento del sistema silenciosamente.

Y todo esto sin levantar sospechas si no haces ruido. Un ataque silencioso, que cambia un grado aquí, apaga una zona allá, podría pasar desapercibido durante días.

¿Parche? En proceso...

Hasta la fecha, Mitsubishi ha reconocido el fallo y está trabajando en una actualización de firmware. Las versiones seguras serán mayores o iguales a la 8.02, pero muchos dispositivos en entornos reales no se actualizan jamás (por miedo, falta de personal o simple negligencia). Además, en algunos entornos industriales, cambiar el firmware de un controlador requiere validar la configuración con un integrador certificado. Es decir: la superficie de ataque va a seguir existiendo durante mucho tiempo.

Hardening y defensiva

Desde el lado blue, la mitigación pasa por lo clásico pero necesario:

  • Segmentación: estos dispositivos no deberían jamás estar en la misma red que el correo, el WiFi de invitados o el servidor de archivos.

  • Filtrado L3/L4: firewall estricto en los puertos HTTP(S), limitando acceso solo a subredes de gestión.

  • Monitorización de tráfico: patrones como peticiones HTTP sin sesión activa a /set_*/ o /get_status deberían ser alertados inmediatamente.

  • VPN obligatoria para accesos remotos a paneles de control.

  • Parcheo o reemplazo de los modelos más antiguos. Sí, suena drástico. Pero si estás gestionando un edificio de oficinas con este tipo de tecnología vulnerable, es cuestión de tiempo que alguien la toque.

Fuentehttps://cybersecuritynews.com/mitsubishi-electric-ac-systems-vulnerability/

Comentarios