Plataforma
nodejs
Componente
@blakeembrey/template
Corregido en
1.2.1
1.2.0
La vulnerabilidad CVE-2024-45390 es una inyección de código que afecta a la librería @blakeembrey/template en Node.js. Un atacante con la capacidad de modificar el nombre de la plantilla puede inyectar y ejecutar código malicioso. Esta vulnerabilidad afecta a versiones anteriores a 1.2.0 y se recomienda actualizar a la versión corregida o implementar medidas de mitigación.
La inyección de código permite a un atacante ejecutar código arbitrario en el contexto de la aplicación que utiliza la librería @blakeembrey/template. Esto podría resultar en la ejecución remota de código (RCE), robo de datos sensibles, modificación de la configuración de la aplicación o incluso el control total del servidor. El atacante necesita tener la capacidad de escribir el nombre de la plantilla para explotar esta vulnerabilidad, lo que implica que el ataque podría originarse desde dentro de la aplicación o desde un usuario con privilegios elevados.
La vulnerabilidad fue publicada el 3 de septiembre de 2024. No se ha reportado explotación activa en campañas conocidas, pero la disponibilidad de un código de ejemplo (PoC) facilita la explotación. La vulnerabilidad no figura en el KEV de CISA al momento de la redacción. Se recomienda monitorear la situación y aplicar las mitigaciones lo antes posible.
Applications built with Node.js that utilize the @blakeembrey/template library and allow users to provide input that influences the template name are at risk. This includes applications that dynamically generate templates based on user-supplied data, such as content management systems or web applications with customizable templates. Developers who haven't updated their dependencies are particularly vulnerable.
• nodejs / server:
npm list @blakeembrey/templateCheck the installed version of @blakeembrey/template. If it's less than 1.2.0, the system is vulnerable.
• nodejs / server:
find . -name "template.js" -print0 | xargs -0 grep -i "exploit() {}"Search for suspicious code patterns within template files that might indicate exploitation attempts. • generic web: Review application logs for any unusual activity related to template rendering or file access. Look for errors or unexpected behavior that could indicate an attempted code injection.
disclosure
Estado del Exploit
EPSS
0.42% (62% percentil)
CISA SSVC
Vector CVSS
La solución principal es actualizar la librería @blakeembrey/template a la versión 1.2.0 o superior, que corrige la vulnerabilidad. Si la actualización no es posible de inmediato, se recomienda evitar el uso de nombres de plantilla no confiables. Otra mitigación es validar y sanitizar rigurosamente cualquier entrada de usuario que se utilice como nombre de plantilla. Implementar un sistema de permisos que restrinja el acceso a la modificación de nombres de plantilla también puede ayudar a reducir el riesgo. Después de la actualización, confirme que la librería se ha actualizado correctamente verificando la versión instalada con npm list @blakeembrey/template.
Actualice la biblioteca @blakeembrey/template a la versión 1.2.0 o superior. Esto solucionará la vulnerabilidad de inyección de código. Si no puede actualizar inmediatamente, evite pasar entradas no confiables como nombre de visualización de la plantilla o desactive la función de nombre de visualización.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2024-45390 is a code injection vulnerability in the @blakeembrey/template library for Node.js, allowing attackers to execute arbitrary code if they can write to the template name. It has a CVSS score of 7.3 (HIGH).
You are affected if you are using a version of @blakeembrey/template prior to 1.2.0 and allow users to influence the template name.
Upgrade to version 1.2.0 or later of the @blakeembrey/template library. As a workaround, avoid using untrusted input as the template display name.
As of September 2024, there are no known active campaigns or public proof-of-concept exploits for CVE-2024-45390.
Refer to the GitHub commit for the fix: https://github.com/blakeembrey/js-template/commit/b8d9aa999e464816c6cfb14acd1ad0f5d1e335aa.
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.