Medium severity · published Jun 4, 2025
CVE-2025-48888
Deno run with --allow-read and --deny-read flags results in allowed
5.3
CVSS
0.4%
EPSS
No
On KEV
Description
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Starting in version 1.41.3 and prior to versions 2.1.13, 2.2.13, and 2.3.2, `deno run --allow-read --deny-read main.ts` results in allowed, even though 'deny' should be stronger. The result is the same with all global unary permissions given as `--allow-* --deny-*`. This only affects a nonsensical combination of flags, so there shouldn't be a real impact on the userbase. Users may upgrade to version 2.1.13, 2.2.13, or 2.3.2 to receive a patch.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 35% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
DE
deno · denoland
>= 1.41.3, < 2.1.13; >= 2.2.0, < 2.2.13; >= 2.3.0, < 2.3.2 · source: vendor, NVD
Affected product
DE
deno
denoland
More from deno
9.8
CVE-2026-32260
Command Injection via incomplete shell metacharacter blocklist in node:child_process (bypass of CVE-2026-27190 fix)
9.8
CVE-2026-27190
Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process
9.8
CVE-2026-22864
Deno has an incomplete fix for command-injection prevention on Windows — case-insensitive extension bypass
9.8
CVE-2023-33966
Deno missing "--allow-net" permission check for built-in Node modules
9.8
CVE-2023-28445
Deno improperly handles resizable ArrayBuffer