Falla en el parche de junio: cibercriminales robaron contraseñas en 48 países

Los hackers vulneraron 996 conmutadores de red Zyxel en 48 países y robaron las configuraciones de los dispositivos junto con las credenciales. Lo peor se supo después. Los ataques incluso superaban la protección que el fabricante había publicado ya en verano.
Diez modelos de la serie GS1900 resultaron afectados. Los atacantes utilizaron una vulnerabilidad hasta entonces desconocida CVE-2026-107441, que permite ejecutar comandos del sistema sin autorización. El fallo está relacionado con escrituras fuera de los límites de la memoria en la interfaz web de gestión. Para el ataque basta con acceso en red a la interfaz y una petición HTTP especialmente preparada.
Los primeros indicios de compromisos masivos los detectó GreyNoise alrededor del 17 de agosto de 2026. Tras la operación estaba el presunto atacante de habla china Kapibala, vinculado a la campaña Red Heron. Tras infiltrarse en los conmutadores se ejecutaba un script que recogía configuraciones de red, archivos de configuración y hashes de las contraseñas del usuario root. En total los investigadores registraron la compromisión de 996 dispositivos en 48 países.
Al principio se relacionaron los ataques con otra vulnerabilidad, CVE-2026-7273. Zyxel la corrigió ya el 16 de junio, cerrando un desbordamiento de buffer en esos mismos conmutadores. Tras el informe de septiembre de GreyNoise, la agencia estadounidense CISA incluyó el error en su catálogo de vulnerabilidades activamente explotadas. Sin embargo, la actualización instalada no detenía el método de intrusión descubierto.
Los investigadores de Binarly ayudaron a esclarecerlo. Al estudiar la infraestructura de Red Heron, vinculada con el backdoor JITTERLY y el rootkit SIXZUT, los especialistas encontraron un archivo público con un exploit enmascarado en Python. El programa comprobaba las versiones de firmware, prestando especial atención a las compilaciones que ya tenían instalado el parche de junio. Esa comprobación hizo que los investigadores dudaran del diagnóstico inicial.
El 28 de septiembre Binarly confirmó la efectividad del exploit contra las diez compilaciones parcheadas. Se comprobó que el parche de junio añadió comprobaciones contra el desbordamiento de buffer, pero el atacante podía corromper el contador de parámetros antes de que se verificara su valor. El error permitía sobrescribir la memoria y ejecutar comandos sin contraseña. Además, la insuficiente comprobación de la longitud de los parámetros HTTP jugó un papel adicional.
El 29 de septiembre los investigadores entregaron los resultados a Zyxel. El fabricante confirmó la nueva vulnerabilidad el 11 de octubre y publicó parches el 22 de octubre. En el boletín oficial del 3 de noviembre se enumeran los modelos afectados, entre ellos GS1900-8, GS1900-24 y GS1900-48. Para ellos están destinadas las versiones de firmware de la rama 2.90 con el número de compilación terminado en .3 en lugar de .2.
El nuevo parche limita el tamaño de los parámetros y verifica su número antes de copiar los datos a la memoria. Aún se desconoce si los atacantes crearon el exploit específicamente para eludir la protección de junio o si aprovecharon un error relacionado que la corrección anterior no cubría. Se recomienda a los propietarios de GS1900 instalar los últimos firmwares y revisar los dispositivos en busca de signos de compromiso.
En Zyxel ya habían ocurrido incidentes similares. Anteriormente los investigadores habían descubierto una vulnerabilidad peligrosa en las pasarelas ATP y USG que permitía ejecutar comandos mediante el mecanismo de DNS dinámico. En otro caso el fabricante advirtió sobre errores activamente explotados en routers obsoletos, para los cuales ya no planeaba publicar parches.
El caso de los GS1900 muestra otro problema. Tener instalada una actualización por sí sola no garantiza protección frente a un ataque en curso. A los especialistas de Binarly les fue necesario analizar el exploit real para establecer la causa de las intrusiones y descubrir el error que se pasó por alto en la investigación inicial.