Detectadas varias vulnerabilidades en Node.js que ya han sido corregidas en la nueva versión

Alberto Payo

Periodista

Guardar

Node.js cubics
Node.js cubics

Node.js continúa siendo una opción muy interesante para los programadores, pero aún debe hacer mucho para proteger su seguridad.

Los mantenedores de este entorno de ejecución de JavaScript han publicado el aviso de seguridad esta semana, pidiendo a los usuarios que actualicen a la última versión con el fin de protegerse contra una serie de bugs que enumeramos a continuación.

Node.js cuenta con una vulnerabilidad (CVE-2021-3672 / CVE-2021-2293) que hace un manejo inadecuado de caracteres atípicos en los nombres de dominio. Esto abre la puerta a la ejecución remota de código (RCE) o exploits de secuencias de comandos entre sitios (XSS).

La brecha de seguridad que implica la posibilidad de que un actor remoto lleva a cabo ataques de secuestro de dominio fue clasificada como de alta gravedad

Otra segunda vulnerabilidad (CVE-2021-22939) suponía la validación incompleta del parámetro acceptUnauthorized. En este caso, la brecha se calificó como de baja gravedad.

Por otro lado, se ha alertado de otra brecha (CVE-2021-22930) que podría permitir a un atacante explotar la corrupción de la memoria para cambiar el comportamiento del proceso como una solución de seguimiento después de que las mitigaciones anteriores no resolvieran completamente el problema. En el blog de Node.js puede encontrarse más información sobre estos problemas y cómo atajarlos. Una vez más se recuerda actualizar a la última versión para evitarlos.

Para qué sirve Node.js

Node.js se puede definir como un entorno de ejecución multiplataforma open source para desarrollar aplicaciones web prácticamente en tiempo real, de manera ligera y escalable. Nacida en 2009, la librería fue creada por Google y se ejecuta sobre JavaScript con el motor V8, creado por la empresa de Mountain View para su navegador Chrome.

Generalmente los programadores trabajaban con JavaScript en el lado del cliente y usaban otro lenguaje de programación distinto para el lado del servidor, pero Node.js permite que se pueda usar el mismo lenguaje para los dos lados, al interpretar JavaScript.

Por otro lado, Node.js gestiona todas las operaciones mediante una programación asíncrona, a la que también se llama "bucle de eventos".