Contexto técnico: CVE-2021-27137 es una vulnerabilidad de desbordamiento de búfer basado en pila (stack-based buffer overflow, CWE-121) que afecta al firmware DD-WRT, una distribución Linux de código abierto ampliamente utilizada en routers de uso doméstico y empresarial. El componente afectado es el daemon UPnP (Universal Plug and Play), responsable de gestionar el descubrimiento automático de dispositivos y la apertura dinámica de puertos en la red local.
Mecanismo del exploit: El fallo reside en la insuficiente validación del tamaño de los datos recibidos antes de copiarlos en un búfer de tamaño fijo ubicado en el stack de la pila de llamadas. Un atacante no autenticado puede enviar un mensaje UPnP SSDP (Simple Service Discovery Protocol) o una solicitud HTTP UPnP maliciosamente crafteada con una carga útil que exceda el límite del búfer interno, sobrescribiendo la dirección de retorno u otros metadatos de control de flujo en el stack. Esto permite al atacante redirigir la ejecución del proceso hacia shellcode o gadgets ROP (Return-Oriented Programming) controlados por el adversario, logrando ejecución arbitraria de código en el contexto del daemon UPnP, habitualmente con privilegios elevados.
Impacto potencial: La explotación exitosa de esta vulnerabilidad puede resultar en compromiso total del dispositivo de red afectado, permitiendo: ejecución remota de código (RCE) sin autenticación previa, persistencia en el firmware, pivoting hacia segmentos de red internos, interceptación y manipulación del tráfico de red (MITM), denegación de servicio (DoS) por corrupción del proceso UPnP, y potencial incorporación del dispositivo a botnets. Dado que DD-WRT es un firmware de terceros instalado en una amplia variedad de hardware de distintos fabricantes, el alcance de dispositivos vulnerables es significativo y heterogéneo. CISA ha incluido esta vulnerabilidad en su catálogo KEV (Known Exploited Vulnerabilities), confirmando explotación activa en el entorno real.