Vulnerabilidades altas en Node.js
Recientemente Node.js público un aviso de seguridad en su pagina oficial que aborda dos vulnerabilidades nuevas clasificadas con un nivel de criticidad alto. Estos CVE solo afectan a algunas versiones de Node.js de Windows, a continuación se abordan las vulnerabilidades.
CVE-2025-27210
La vulnerabilidad CVE-2025-27210 afecta a aplicaciones Node.js que se ejecutan en entornos Windows, y se originó por una falla en el proceso de validación en las rutas (path traversal), lo que provoca que las funciones internas de Node.js como path.join() y path.normalize() no filtran adecuadamente los nombres reservados cuando forman parte de rutas de archivos proporcionadas por el usuario. Y a pesar de que ya se había abordado una vulnerabilidad similar previamente (CVE-2025-23084), esta nueva vulnerabilidad confirmo que la solución que se aplico fue incompleta.
Un atacante que tenga control sobre las entradas que definen rutas de archivo podría manipular la ruta, usando nombres especiales para evitar ser detectado por los controles de seguridad del sistema de archivos e intentar acceder a archivos fuera del directorio permitido. Esto representa una amenaza significativa, ya que puede ser utilizado como parte de un ataque para acceder a información crítica o incluso causar denegaciones de servicio. Para mitigar esta vulnerabilidad, se recomienda actualizar Node.js a las versiones corregidas y validar cuidadosamente todas las entradas de rutas permitidas para evitar que incluyan componentes maliciosos o reservados que pueden permitir que autores de amenazas logren explotar la vulnerabilidad.
CVE-2025-27209
La vulnerabilidad CVE-2025-27209 es una falla de tipo HashDoS (Hash Denial of Service) que afecta a Node.js, específicamente en la versión 24.x, debido al uso de un nuevo algoritmo de hashing llamado rapidhash introducido por el motor JavaScript V8.
Este CVE se origina porque el algoritmo nuevo no implementa correctamente los mecanismos aleatorios que protejan al sistema contra colisiones intencionadas de hashes, lo que puede permitir a un atacante generar múltiples entradas que se almacenan con claves especialmente para colisionar. Cuando estas claves colisionan, el tiempo necesario para insertar o buscar elementos se incrementa drásticamente, provocando una degradación del rendimiento que puede llevar a una denegación de servicio (DoS). Esta clase de ataque es particularmente peligrosa en aplicaciones Node.js que aceptan datos controlados por el usuario, como formularios web, parámetros en JSON o consultas HTTP, ya que un atacante puede enviar grandes volúmenes de datos maliciosos que causen el agotamiento de los recursos del servidor. Aunque anteriormente se habían mitigado problemas similares el nuevo algoritmo rapidhash no replicó adecuadamente estas protecciones.
La explotación del CVE-2025-27209 no requiere autenticación ni interacción compleja, basta con enviar una carga bien diseñada para saturar las estructuras de datos internas. Para resolver este problema, los desarrolladores de Node.js lanzaron una actualización de emergencia que desactiva el uso de rapidhash por defecto y mejora su resistencia a colisiones, Este fallo pone en evidencia la importancia de evaluar cuidadosamente los algoritmos utilizados en bibliotecas fundamentales como los motores de ejecución, especialmente cuando estos afectan la seguridad, estabilidad y disponibilidad de servidores en que esta siendo utilizados en producción.
Versiones Afectadas
|
Versión afectada |
Versión parcheada |
|
Node.js 24.x |
Actualice a la versión v24.4.1 |
|
Node.js 20.x |
Actualice a la versión v20.19.4 |
|
Node.js, 22.x |
Actualice a la versión v22.17.1 |
Recomendaciones
- Si cuenta con algún producto Node.js de los siguientes:
- Actualice Node.js versión 20.x a la v20.19.4 versión.
- Actualice Node.js versión 22.x a la v22.17.1versión.
- Actualice Node.js versión 24.x a la v24.4.1 versión.
-
Establecer controles de acceso SSH basados en la red para minimizar el riesgo de ataque.
-
Auditar herramientas de acceso remoto. (NIST CSF, 2024)
-
Revisar logs para ejecución de software de acceso remoto. (NIST CSF, 2024)
-
Limitar estrictamente el uso de los protocolos SMB y RDP.
-
Realizar auditorías de seguridad. (NIST CSF, 2024)
-
Deshabilitar los servicios y procesos no requeridos para reducir los vectores de ataque. (NIST CSF, 2024)
-
Tener filtros de correo electrónico y spam.
-
Concientizar a los empleados sobre los métodos de Phishing e Ingeniería social.
-
Realizar copias de seguridad, respaldos o back-ups constantemente.
-
Mantener los respaldos desconectados de la red de la organización, verificando constantemente la confidencialidad, integridad y disponibilidad de estos.
-
Revisar continuamente los privilegios de los usuarios.
-
Tener una solución EDR robusta configurada adecuadamente basada en las mejores prácticas (de acuerdo con documentación de fabricante).
-
Habilitar la autenticación multifactor.
Referencias
- Divya. (2025, Julio 16). Node.js Vulnerabilities Leave Windows Apps Vulnerable to Path Traversal and HashDoS. GBHackers Security | #1 Globally Trusted Cyber Security News Platform. Recuperado el 16 de julio de 2025, en: https://gbhackers.com/node-js-vulnerabilities-leave-windows-apps-vulnerable/
- Vaishnavi. (2025, Julio 16). What are CVE-2025-27210 and CVE-2025-27209 vulnerabilities in Node.js, and how can Windows applications protect against these high-severity flaws? WebAsha Technologies. Recuperado el 16 de julio de 2025, en: https://www.webasha.com/blog/what-are-cve-2025-27210-and-cve-2025-27209-vulnerabilities-in-nodejs-and-how-can-windows-applications-protect-against-these-high-severity-flaws
- Baran, G. (2025, Julio 16). Node.js Vulnerabilities Exposes Windows App to Path Traversal and HashDoS Attacks. Cyber Security News. Recuperado el 16 de julio de 2025, en: https://cybersecuritynews.com/windows-node-js-vulnerabilities/