CCN-CERT AV 66/20 Vulnerabilidad en Node.js

 
  AVISOS  
     
 

Vulnerabilidad en Node.js

Fecha de publicación: 06/08/2020

Nivel de peligrosidad: CRÍTICO

El Equipo de Respuesta a Incidentes del Centro Criptológico Nacional, CCN-CERT, avisa de la publicación de una vulnerabilidad en un módulo Node.js.

Recientemente se ha publicado un fallo de seguridad en un módulo Node.js descargado millones de veces que permitiría a un atacante producir una denegación de servicio (DoS) o la ejecución remota de código en un sistema vulnerable. A continuación, se exponen los detalles técnicos de la vulnerabilidad:

CVE-2020-7699: La vulnerabilidad radica en el componente npm "express-fileupload", que se ha descargado al menos 7.3 millones de veces desde npm (sistema de gestión de paquetes por defecto para Node.js). Este tipo de vulnerabilidad, conocida como "Prototype Pollution", generalmente ocurre en código JavaScript (JS) dada la naturaleza fundamental de este lenguaje. Debido a que JS es un lenguaje basado en prototipos, cada objeto, función y estructura de datos tiene una propiedad inherente "Prototype" que puede modificarse mediante un mutador "__proto__". Precisamente es esta capacidad de modificar el código la que permite una fácil extensión de los objetos existentes, con más propiedades y métodos. Los ataques de creación de prototipos de este tipo aprovechan este "fallo de diseño" al inyectar tipos incompatibles de objetos en los existentes para causar errores, lo que puede conducir a escenarios de denegación de servicio (DoS) e incluso conseguir acceso a shells remotas.

La base de datos del NIST ha asignado al CVE-2020-7699 un score de 9.8 según la escala CVSSv3, lo que significa que se trata de una vulnerabilidad crítica. Hasta la fecha no se conoce actividad dañina en la red, ni exploits que aprovechen esta vulnerabilidad.

Recursos afectados:

  • Componente npm "express-fileupload", versiones anteriores a la 1.1.9.

Solución a las vulnerabilidades:

Actualizar npm "express-fileupload" a la versión 1.1.9 a través del enlace que se ofrece a continuación:

Recomendaciones:

Se recomienda encarecidamente a los usuarios y administradores de sistemas que apliquen los parches de seguridad en cuanto se encuentren disponibles, con el fin de evitar la exposición a ataques externos y la toma de control de los sistemas informáticos.

En este caso se debe tener en cuenta que los entornos más susceptibles de sufrir un ataque del tipo "Prototype Pollution" son los servidores web y los servidores de aplicaciones. Por lo tanto, como medidas de prevención, se recomienda implementar las siguientes prácticas:

  • Hacer uso de Object.freeze (Object.prototype).
  • Requerir validación de esquema de entrada JSON.
  • Evitar el uso de funciones de fusión recursivas inseguras.
  • Considerar usar objetos sin prototipos (por ejemplo, Object.create(null)), para romper la cadena del prototipo y prevenir posibles ataques.
  • Como práctica recomendada, usar Map en lugar de Object.

Referencias:

Atentamente,

Equipo CCN-CERT

//////////////////////////////////////////////////////////////////////////////////////////

El CCN-CERT (www.ccn-cert.cni.es) es la Capacidad de Respuesta a Incidentes de Seguridad de la Información del Centro Criptológico Nacional, CCN (www.ccn.cni.es), adscrito al Centro Nacional de Inteligencia, CNI. Este servicio se creó en el año 2006 como CERT Gubernamental Nacional español y sus funciones quedan recogidas en la Ley 11/2002 reguladora del CNI, el RD 421/2004 de regulación del CCN y en el RD 3/2010, de 8 de enero, regulador del Esquema Nacional de Seguridad (ENS), modificado por el RD 951/2015 de 23 de octubre.

Su misión, por tanto, es contribuir a la mejora de la ciberseguridad española, siendo el centro de alerta y respuesta nacional que coopere y ayude a responder de forma rápida y eficiente a los ciberataques y a afrontar de forma activa las ciberamenazas, incluyendo la coordinación a nivel público estatal de las distintas Capacidades de Respuesta a Incidentes o Centros de Operaciones de Ciberseguridad existentes.

Todo ello, con el fin último de conseguir un ciberespacio más seguro y confiable, preservando la información clasificada (tal y como recoge el art. 4. F de la Ley 11/2002) y la información sensible, defendiendo el Patrimonio Tecnológico español, formando al personal experto, aplicando políticas y procedimientos de seguridad y empleando y desarrollando las tecnologías más adecuadas a este fin.

De acuerdo a esta normativa y la Ley 40/2015 de Régimen Jurídico del Sector Público es competencia del CCN-CERT la gestión de ciberincidentes que afecten a cualquier organismo o empresa pública. En el caso de operadores críticos del sector público la gestión de ciberincidentes se realizará por el CCN-CERT en coordinación con el CNPIC.

Claves PGP Públicas
---------------------
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. / Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
--------------------
Fingerprint: 2933 AE1E CB92 548D 6515 B11B 88E9 B0C3 F9CC 1235
Descarga
--------------------

/////////////////////////////////////////////////////////////////////////////////////////

POLÍTICA DE PRIVACIDAD:
El 25 de mayo de 2018 entró en vigor el Reglamento de Protección de Datos (RGPD) de la Unión Europea (UE). Dicho Reglamento está diseñado para unificar los requisitos de privacidad de los datos en toda la UE. Desde el Centro Criptológico Nacional siempre hemos prestado la mayor atención y realizado todos los esfuerzos necesarios para mantener la privacidad de nuestros usuarios y suscriptores y, por supuesto, cumplir con la Normativa vigente. Con el objetivo de adecuarnos al RGPD hemos actualizado nuestra política de privacidad para ampliar lo que veníamos haciendo hasta la fecha: otorgar a su información personal el respeto y la seguridad que se merece.

Nos pondremos en contacto con usted cuando dispongamos de información que consideremos que le pueda ser de interés, informándole de contenidos, servicios, eventos, avisos de seguridad o, si procede, gestionar y atender sus solicitudes de información.

Puede encontrar la nueva información y política de privacidad del Centro Criptológico Nacional haciendo click AQUÍ. Por favor, consulte esta información y no dude en ponerse en contacto con nosotros para cualquier aclaración enviándonos un email a Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

//////////////////////////////////////////////////////////////////////////////////////////

AVISO DE CONFIDENCIALIDAD:
El presente mensaje va dirigido de manera exclusiva a su destinatario.
Si usted no es el destinatario de este mensaje (o la persona responsable de su entrega), considérese advertido de que lo ha recibido por error, así como de la prohibición legal de realizar cualquier tipo de uso, difusión, reenvío, impresión o copia del mismo. Si ha recibido este mensaje por error, por favor notifíquelo al remitente y proceda a destruirlo inmediatamente.

 
     
© 2020 Centro Criptológico Nacional, Argentona 30, 28023 MADRID

Miembros de

Ministerio de Defensa
CNI
CCN
CCN-CERT