Plataforma
nodejs
Componente
uglify-js
Corregido en
2.6.0
La vulnerabilidad CVE-2015-8858 es una denegación de servicio (DoS) que afecta a las versiones de uglify-js anteriores a la 2.6.0. Esta vulnerabilidad permite a un atacante provocar una denegación de servicio al proporcionar entradas maliciosas al método parse(). La explotación de esta vulnerabilidad puede resultar en la imposibilidad de procesar correctamente el código JavaScript, afectando la disponibilidad de aplicaciones que dependen de uglify-js. Se recomienda actualizar a la versión 2.6.0 o aplicar mitigaciones.
Un atacante puede explotar esta vulnerabilidad enviando entradas especialmente diseñadas al método parse() de uglify-js. Estas entradas, a menudo basadas en patrones de expresiones regulares complejas, pueden consumir una cantidad excesiva de recursos del sistema, como CPU y memoria, lo que lleva a una denegación de servicio. Esto puede interrumpir el funcionamiento de aplicaciones web o herramientas de compilación que utilizan uglify-js para minimizar el código JavaScript. La severidad de este impacto depende de la criticidad de la aplicación afectada y de la disponibilidad de recursos alternativos. La vulnerabilidad se manifiesta en un consumo significativo de tiempo de procesamiento, como se demuestra en el PoC proporcionado, donde un aumento en la longitud de la entrada resulta en un aumento sustancial del tiempo de ejecución.
Esta vulnerabilidad ha sido ampliamente documentada y un proof-of-concept (PoC) público está disponible, lo que facilita su explotación. Aunque no se ha confirmado la explotación activa en entornos del mundo real, la disponibilidad del PoC y la relativa facilidad de explotación la convierten en un riesgo potencial. La vulnerabilidad no figura en el Catálogo de Vulnerabilidades Conocidas (KEV) de CISA a la fecha de esta evaluación. La publicación de la vulnerabilidad se realizó el 24 de octubre de 2017.
Node.js developers and DevOps teams using uglify-js in their projects are at risk. Specifically, projects using older versions of uglify-js (prior to 2.6.0) and those that do not have robust input validation mechanisms are particularly vulnerable. Applications that rely on uglify-js for minifying JavaScript code in production environments are also at increased risk.
• nodejs / server:
ps aux | grep uglify-js | grep -v grep | awk '{print $2}' | xargs -n 1 pmap -x | grep -q 'regex' # Check for excessive regex usage• nodejs / server:
journalctl -u nodejs | grep -i 'uglify-js' | grep -i 'error' # Look for errors related to uglify-js• generic web:
Inspect Node.js application logs for unusual CPU spikes or memory usage correlated with uglify-js processing.
discovery
disclosure
patch
Estado del Exploit
EPSS
0.90% (76% percentil)
Vector CVSS
La mitigación principal para CVE-2015-8858 es actualizar a la versión 2.6.0 de uglify-js o posterior, donde se corrigió la vulnerabilidad. Si la actualización inmediata no es posible, se pueden implementar medidas de mitigación temporales. Estas pueden incluir la validación y el saneamiento rigurosos de todas las entradas proporcionadas al método parse(), limitando la longitud y la complejidad de las expresiones regulares que se procesan. Además, se puede considerar el uso de un proxy inverso o un firewall de aplicaciones web (WAF) para filtrar el tráfico malicioso antes de que llegue a la aplicación. La implementación de estas medidas puede ayudar a reducir el riesgo de explotación, aunque no eliminan la vulnerabilidad por completo.
Sin parche oficial disponible. Busca alternativas o monitorea actualizaciones.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2015-8858 is a Denial of Service vulnerability in the uglify-js Node.js package, allowing attackers to cause performance degradation by exploiting a flawed regular expression in the parse() method.
You are affected if you are using a version of uglify-js prior to 2.6.0. Check your project dependencies and update if necessary.
Upgrade to version 2.6.0 or later of uglify-js. Consider implementing input validation as an additional precaution.
While no active exploitation campaigns have been publicly reported, the availability of a proof-of-concept makes it potentially exploitable.
Refer to the official npm advisory and the CVE record for more details: https://nvd.nist.gov/vuln/detail/CVE-2015-8858
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.