CVE-2025-24015 Deno's AES GCM authentication tags are not verified
Deno fails to verify AES-GCM authentication tags, allowing undetected tampering of encrypted data and breaking integrity guarantees.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-24015?
CVE-2025-24015 is a high-severity vulnerability in denoland deno, published on 3 Jun 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Versions 1.46.0 through 2.1.6 have an issue that affects AES-256-GCM and AES-128-GCM in Deno in which the authentication tag is not being validated. This means tampered ciphertexts or incorrect keys might not be detected, which breaks the guarantees expected from AES-GCM. Older versions of Deno correctly threw errors in such cases, as does Node.js. Without authentication tag verification, AES-GCM degrades to essentially CTR mode, removing integrity protection. Authenticated data set with set_aad is also affected, as it is incorporated into the GCM hash (ghash) but this too is not validated, rendering AAD checks ineffective. Version 2.1.7 includes a patch that addresses this issue.
Weakness: CWE-347
Which versions are affected by CVE-2025-24015?
4 open source packages ship an affected version, including deno and deno_node. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
deno crates.io | From 1.46.0 | 2.1.7 |
deno crates.io | From 1.46.0 | 2.1.7 |
deno_node crates.io | From 0.102.0 | 0.125.0 |
deno_node crates.io | From 0.102.0 | 0.125.0 |
Products include Deno Deno.
How do I fix CVE-2025-24015?
Upgrade deno to 2.1.7 or later.
Is CVE-2025-24015 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-24015 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-2x3r-hwv5-p32x, JLSEC-2026-108.