Vulnerabilidad en Babel (CVE-2023-45133)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
12/10/2023
Última modificación:
24/10/2023
Descripción
Babel es un compilador para escribir JavaScript. En `@babel/traverse` anterior a las versiones 7.23.2 y 8.0.0-alpha.4 y en todas las versiones de `babel-traverse`, el uso de Babel para compilar código manipulado específicamente por un atacante puede provocar la ejecución de código arbitrario durante compilación, cuando se utilizan complementos que se basan en los métodos internos de Babel `path.evaluate()`o `path.evaluateTruthy()`. Los complementos afectados conocidos son `@babel/plugin-transform-runtime`; `@babel/preset-env` cuando se usa su opción `useBuiltIns`; y cualquier complemento de "proveedor de polyfill" que dependa de `@babel/helper-define-polyfill-provider`, como `babel-plugin-polyfill-corejs3`, `babel-plugin-polyfill-corejs2`, `babel-plugin- polyfill-es-shims`, `babel-plugin-polyfill-regenerator`. Ningún otro complemento bajo el espacio de nombres `@babel/` se ve afectado, pero los complementos de terceros podrían verse afectados. Los usuarios que solo compilan código confiable no se ven afectados. La vulnerabilidad se ha solucionado en `@babel/traverse@7.23.2` y `@babel/traverse@8.0.0-alpha.4`. Aquellos que no puedan actualizar `@babel/traverse` y estén usando uno de los paquetes afectados mencionados anteriormente deben actualizarlos a su última versión para evitar activar la ruta de código vulnerable en las versiones afectadas `@babel/traverse`: `@babel/plugin- transform-runtime` v7.23.2, `@babel/preset-env` v7.23.2, `@babel/helper-define-polyfill-provider` v0.4.3, `babel-plugin-polyfill-corejs2` v0.4.6, ` babel-plugin-polyfill-corejs3` v0.8.5, `babel-plugin-polyfill-es-shims` v0.10.0, `babel-plugin-polyfill-regenerator` v0.5.3.
Impacto
Puntuación base 3.x
8.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* | ||
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* | ||
cpe:2.3:o:debian:debian_linux:12.0:*:*:*:*:*:*:* | ||
cpe:2.3:a:babeljs:babel:*:*:*:*:*:nodejs:*:* | 7.23.2 (excluyendo) | |
cpe:2.3:a:babeljs:babel:8.0.0:alpha.0:*:*:*:nodejs:*:* | ||
cpe:2.3:a:babeljs:babel:8.0.0:alpha.1:*:*:*:nodejs:*:* | ||
cpe:2.3:a:babeljs:babel:8.0.0:alpha.2:*:*:*:nodejs:*:* | ||
cpe:2.3:a:babeljs:babel:8.0.0:alpha.3:*:*:*:nodejs:*:* | ||
cpe:2.3:a:babeljs:babel-helper-define-polyfill-provider:*:*:*:*:*:nodejs:*:* | 0.4.3 (excluyendo) | |
cpe:2.3:a:babeljs:babel-plugin-polyfill-corejs2:*:*:*:*:*:nodejs:*:* | 0.4.6 (excluyendo) | |
cpe:2.3:a:babeljs:babel-plugin-polyfill-corejs3:*:*:*:*:*:nodejs:*:* | 0.8.5 (excluyendo) | |
cpe:2.3:a:babeljs:babel-plugin-polyfill-es-shims:*:*:*:*:*:nodejs:*:* | 0.10.0 (excluyendo) | |
cpe:2.3:a:babeljs:babel-plugin-polyfill-regenerator:*:*:*:*:*:nodejs:*:* | 0.5.3 (excluyendo) | |
cpe:2.3:a:babeljs:babel-plugin-transform-runtime:*:*:*:*:*:nodejs:*:* | 7.23.2 (excluyendo) | |
cpe:2.3:a:babeljs:babel-preset-env:*:*:*:*:*:nodejs:*:* | 7.23.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/babel/babel/commit/b13376b346946e3f62fc0848c1d2a23223314c82
- https://github.com/babel/babel/pull/16033
- https://github.com/babel/babel/releases/tag/v7.23.2
- https://github.com/babel/babel/releases/tag/v8.0.0-alpha.4
- https://github.com/babel/babel/security/advisories/GHSA-67hx-6x53-jw92
- https://lists.debian.org/debian-lts-announce/2023/10/msg00026.html
- https://www.debian.org/security/2023/dsa-5528