Error crítico informado en el paquete NPM con millones de descargas por semana

paquete NPM

Se solucionó un paquete NPM ampliamente utilizado llamado ‘Pac-Resolver’ para el lenguaje de programación JavaScript al corregir una vulnerabilidad de ejecución remota de código de alta gravedad que podría explotarse para ejecutar código malicioso en aplicaciones Node.js cada vez que se envían solicitudes HTTP.

El error, rastreado como CVE-2021-23406, tiene una clasificación de gravedad de 8.1 en el sistema de clasificación de vulnerabilidad CVSS y afecta a las versiones de Pac-Resolver anteriores a la 5.0.0.

Un archivo de configuración automática de proxy (PAC) es una característica de JavaScript que determina si las solicitudes del navegador web se enrutan directamente a un destino o se reenvían a un servidor proxy web para un nombre de host dado. Los PAC son una forma de distribuir reglas de proxy en entornos empresariales.

«Este paquete se usa para admitir archivos PAC en Pac-Proxy-Agent, que a su vez se usa en Proxy-Agent, que luego se usa en todas partes como un paquete estándar para la detección y configuración automáticas de servidores proxy HTTP en Node». .js «, dijo Tim Perry en un informe publicado a fines del mes pasado. «Es muy popular: Proxy-Agent se usa en todas partes, desde el kit de herramientas CDK AWS hasta Mailgun SDK y Firebase CLI».

CVE-2021-23406 está relacionado con cómo Pac-Proxy-Agent no pone en cuarentena correctamente los archivos PAC, lo que lleva a un escenario en el que se puede explotar un archivo PAC que no es de confianza para salir completamente del espacio aislado y ejecutar código arbitrario en el sistema operativo base. Sistema. Sin embargo, esto requiere que un atacante resida en la red local, tenga la capacidad de manipular el contenido del archivo PAC o encadenarlo con una segunda vulnerabilidad para cambiar la configuración del proxy.

«Este es un ataque bien conocido a la VM y funciona porque Node no aísla completamente el contexto de ‘sandbox’ porque en realidad no intenta proporcionar un aislamiento serio», dijo Perry. «La solución es simple: use una caja de arena real en lugar de un módulo de máquina virtual integrado».

En una recomendación independiente, Red Hat dijo que el paquete vulnerable vino con su producto Advanced Cluster Management for Kubernets, pero señaló que «actualmente no sabe acerca de un vector que desencadenaría una vulnerabilidad en un componente afectado, y el componente afectado es usuario- protegido.» verificación reduciendo el impacto potencial de esta vulnerabilidad”.

Continua leyendo