CVE-2023-26121: Prototype Pollution en safe-eval ≤0.4.2
Plataforma
nodejs
Componente
safe-eval
La vulnerabilidad CVE-2023-26121 afecta a la librería safe-eval en versiones hasta la 0.4.2. Esta vulnerabilidad de Prototype Pollution permite a un atacante modificar el prototipo de objetos JavaScript, lo que puede llevar a la ejecución de código arbitrario o la alteración del comportamiento de la aplicación. La explotación se realiza a través de la función safeEval debido a una sanitización inadecuada de los parámetros de entrada. Se recomienda actualizar a una versión corregida o aplicar medidas de mitigación.
Impacto y Escenarios de Ataque
La vulnerabilidad de Prototype Pollution en safe-eval es particularmente peligrosa porque permite a un atacante inyectar propiedades maliciosas en el prototipo de objetos JavaScript. Esto puede afectar a todas las instancias de esos objetos, permitiendo la manipulación de datos, la alteración de la lógica de la aplicación e incluso la ejecución de código arbitrario. Un atacante podría, por ejemplo, sobrescribir propiedades del prototipo Object para modificar el comportamiento de todas las operaciones de objeto en la aplicación. La severidad CRÍTICA (CVSS 10) refleja el alto potencial de impacto y la relativa facilidad de explotación, similar a otras vulnerabilidades de Prototype Pollution que han afectado a proyectos de gran escala.
Contexto de Explotación
La vulnerabilidad CVE-2023-26121 fue publicada el 11 de abril de 2023. Actualmente no se dispone de información sobre campañas de explotación activas. No se ha identificado en KEV (Known Exploited Vulnerabilities) ni se ha asignado un puntaje EPSS (Exploit Prediction Scoring System). La disponibilidad pública de un Proof of Concept (PoC) podría aumentar el riesgo de explotación.
Inteligencia de Amenazas
Estado del Exploit
EPSS
0.10% (28% percentil)
Vector CVSS
¿Qué significan estas métricas?
- Attack Vector
- Red — explotable remotamente por internet. Sin acceso físico ni local. Mayor superficie de ataque.
- Attack Complexity
- Baja — sin condiciones especiales. El atacante puede explotar de forma confiable sin configuraciones raras.
- Privileges Required
- Ninguno — sin autenticación. No se necesitan credenciales para explotar.
- User Interaction
- Ninguna — el ataque es automático y silencioso. La víctima no hace nada.
- Scope
- Cambiado — el ataque puede pivotar a otros sistemas más allá del componente vulnerable.
- Confidentiality
- Alto — pérdida total de confidencialidad. El atacante puede leer todos los datos.
- Integrity
- Alto — el atacante puede escribir, modificar o eliminar cualquier dato.
- Availability
- Alto — caída completa o agotamiento de recursos. Denegación de servicio total.
Software Afectado
Cronología
- Publicada
- Modificada
- EPSS actualizado
Mitigación y Workarounds
La mitigación principal es actualizar a una versión de safe-eval que corrija la vulnerabilidad. Si la actualización no es inmediatamente posible, se recomienda implementar medidas de seguridad adicionales. Una posible mitigación es restringir el acceso a la función safeEval y validar rigurosamente todos los parámetros de entrada. Además, se pueden utilizar herramientas de análisis estático para identificar y corregir patrones de código vulnerables a Prototype Pollution. Si se utiliza un servidor proxy o WAF, configurar reglas para bloquear solicitudes que contengan patrones sospechosos de inyección de Prototype Pollution puede ayudar a reducir el riesgo. Después de aplicar la actualización o mitigación, confirmar que la función safeEval está correctamente protegida y que no se pueden inyectar propiedades maliciosas en el prototipo.
Cómo corregirlotraduciendo…
Sin parche oficial disponible. Busca alternativas o monitorea actualizaciones.
Preguntas frecuentes
What is CVE-2023-26121 — Prototype Pollution in safe-eval?
CVE-2023-26121 es una vulnerabilidad de Prototype Pollution en la librería safe-eval, que permite a un atacante modificar el prototipo de objetos JavaScript, comprometiendo la seguridad de la aplicación.
Am I affected by CVE-2023-26121 in safe-eval?
Si está utilizando safe-eval en versiones menores o iguales a 0.4.2, es vulnerable a esta vulnerabilidad de Prototype Pollution. Verifique su versión actual.
How do I fix CVE-2023-26121 in safe-eval?
La solución recomendada es actualizar a una versión corregida de safe-eval. Si la actualización no es posible, aplique medidas de mitigación como restringir el acceso a safeEval y validar los parámetros de entrada.
Is CVE-2023-26121 being actively exploited?
Actualmente no se dispone de información sobre campañas de explotación activas, pero la disponibilidad de un PoC podría aumentar el riesgo.
Where can I find the official safe-eval advisory for CVE-2023-26121?
Consulte el repositorio oficial de safe-eval en npm o GitHub para obtener información y actualizaciones sobre la vulnerabilidad: [https://www.npmjs.com/package/safe-eval](https://www.npmjs.com/package/safe-eval)
¿Tu proyecto está afectado?
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Pruébalo ahora — sin cuenta
Sube cualquier manifiesto (composer.lock, package-lock.json, lista de plugins WordPress…) o pega tu lista de componentes. Recibís un reporte de vulnerabilidades al instante. Subir un archivo es solo el primer paso: con una cuenta tenés monitoreo continuo, alertas en tu canal, multi-proyecto y reportes white-label.
Arrastra y suelta tu archivo de dependencias
composer.lock, package-lock.json, requirements.txt, Gemfile.lock, pubspec.lock, Dockerfile...