Last updated 24 July 2024
Last updated 24 July 2024
Impact
Using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the path.evaluate()or path.evaluateTruthy() internal Babel methods.
Known affected plugins are: - @babel/plugin-transform-runtime - @babel/preset-env when using its useBuiltIns option - Any "polyfill provider" plugin that depends on @babel/helper-define-polyfill-provider, such as babel-plugin-polyfill-corejs3, babel-plugin-polyfill-corejs2, babel-plugin-polyfill-es-shims, babel-plugin-polyfill-regenerator
No other plugins under the @babel/ namespace are impacted, but third-party plugins might be.
Users that only compile trusted code are not impacted.
Patches
The vulnerability has been fixed in @babel/traverse@7.23.2.
Babel 6 does not receive security fixes anymore (see Babel's security policy), hence there is no patch planned for babel-traverse@6.
Workarounds
- Upgrade @babel/traverse to v7.23.2 or higher. You can do this by deleting it from your package manager's lockfile and re-installing the dependencies. @babel/core >=7.23.2 will automatically pull in a non-vulnerable version. - If you cannot upgrade @babel/traverse and are using one of the affected packages mentioned above, upgrade them to their latest version to avoid triggering the vulnerable code path in affected @babel/traverse versions: - @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
Attacker controlled files can be uploaded to arbitrary locations on the web server's filesystem by abusing a path traversal vulnerability.
Chromium: CVE-2023-4763 Use after free in Networks
Accessibility. This issue was addressed with improved redaction of sensitive information.
Chromium: CVE-2023-5187 Use after free in Extensions
Chromium: CVE-2023-5186 Use after free in Passwords
Chromium: CVE-2023-5218 Use after free in Site Isolation
Chromium: CVE-2023-5474 Heap buffer overflow in PDF
Chromium: CVE-2023-5476 Use after free in Blink History
Chromium: CVE-2023-3422 Use after free in Guest View
Chromium: CVE-2023-3420 Type Confusion in V8
Uninitialized Use in FFmpeg in Google Chrome prior to 108.0.5359.71 allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page. (Chromium security severity: Medium)
A bug in popup notifications delay calculation could have made it possible for an attacker to trick a user into granting permissions.
Chromium: CVE-2023-4073 Out of bounds memory access in ANGLE
Chromium: CVE-2023-5472: Use after free in Profiles
A logic issue was addressed with improved checks. This issue is fixed in iOS 17.1 and iPadOS 17.1, watchOS 10.1, iOS 16.7.2 and iPadOS 16.7.2, macOS Sonoma 14.1, Safari 17.1, tvOS 17.1. Processing web content may lead to arbitrary code execution.
Chromium: CVE-2023-4349 Use after free in Device Trust Connectors
Chromium: CVE-2023-4351 Use after free in Network
Chromium: CVE-2023-4353 Heap buffer overflow in ANGLE
Chromium: CVE-2023-4354 Heap buffer overflow in Skia
Chromium: CVE-2023-4357 Insufficient validation of untrusted input in XML
Chromium: CVE-2023-4352 Type Confusion in V8
Chromium: CVE-2023-4358 Use after free in DNS
Chromium: CVE-2023-4355 Out of bounds memory access in V8
Chromium: CVE-2023-4362 Heap buffer overflow in Mojom IDL
Chromium: CVE-2023-4356 Use after free in Audio
Chromium: CVE-2023-4368 Insufficient policy enforcement in Extensions API
Chromium: CVE-2023-4366 Use after free in Extensions