El equipo de desarrollo de Node.js ha publicado actualizaciones de seguridad extraordinarias para resolver vulnerabilidades graves detectadas en su modelo experimental de permisos. El fallo permitía a código no confiable saltarse las restricciones de acceso al sistema de archivos impuestas por parámetros como --allow-fs-read y --allow-fs-write, posibilitando la lectura y modificación de archivos protegidos en el servidor. A continuación, resumimos el alcance y las medidas de remediación urgentes.
Mecánica del fallo en el control de permisos
La función --experimental-permission fue diseñada para restringir las capacidades de módulos de terceros en entornos de ejecución. Sin embargo, inconsistencias en la normalización de rutas y la gestión de enlaces internos en C++ permitían a paquetes maliciosos evadir la jaula de permisos mediante técnicas de salto de directorio (Path Traversal), accediendo a credenciales del sistema o claves criptográficas.
Versiones afectadas
- Línea Node.js v22.x: Requiere actualización inmediata al último parche de seguridad.
- Línea Node.js v20.x (LTS): Actualización crítica para todos los servicios en producción.
- Línea Node.js v18.x: Comprobar la disponibilidad de los parches de soporte extendido.
Pasos recomendados para equipos de infraestructura
- Inventario de versiones: Compruebe la versión de Node.js en contenedores Docker y canalizaciones de integración continua (CI/CD).
- Defensa en profundidad: No dependa exclusivamente de una característica experimental para aislar aplicaciones. Utilice contenedores con sistemas de archivos de solo lectura y límites de ejecución en el kernel.
- Auditoría de dependencias: Ejecute escaneos de seguridad periódicos con
npm auditpara detectar posibles paquetes malintencionados en el ecosistema npm.
Se recomienda aplicar las actualizaciones en los entornos de producción a la mayor brevedad.

