CVE-2024-27934 *const c_void / ExternalPointer unsoundness leading to use-after-free
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2024-27934?
CVE-2024-27934 is a high-severity vulnerability in denoland deno, published on 6 Mar 2024.
Official description
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Starting in version 1.36.2 and prior to version 1.40.3, use of inherently unsafe `*const c_void` and `ExternalPointer` leads to use-after-free access of the underlying structure, resulting in arbitrary code execution. Use of inherently unsafe `*const c_void` and `ExternalPointer` leads to use-after-free access of the underlying structure, which is exploitable by an attacker controlling the code executed inside a Deno runtime to obtain arbitrary code execution on the host machine regardless of permissions. This bug is known to be exploitable for both `*const c_void` and `ExternalPointer` implementations. Version 1.40.3 fixes this issue.
Weakness: CWE-416
Which versions are affected by CVE-2024-27934?
2 open source packages ship an affected version, including deno. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
deno crates.io | From 1.36.2 | 1.40.3 |
deno crates.io | From 1.36.2 | 1.40.3 |
Products include Deno Deno.
How do I fix CVE-2024-27934?
Upgrade deno to 1.40.3 or later.
Is CVE-2024-27934 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-27934 exists.
Other vulnerabilities in denoland deno
- CVE-2023-28445 Deno improperly handles resizable ArrayBuffer
- CVE-2022-24783 Sandbox bypass leading to arbitrary code execution in Deno
- CVE-2021-32619 Static imports inside dynamically imported modules do not adhere to permission checks
- CVE-2026-22863 Deno node:crypto doesn't finalize cipher
- CVE-2024-27936 Deno interactive permission prompt spoofing via improper ANSI stripping
Sources
Also known as GHSA-3j27-563v-28wf.