CVE-2025-48888
published 2025-06-04CVE-2025-48888: 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…
PriorityP429medium5.3CVSS 3.1
AVNACLPRNUINSUCNILAN
EPSS
0.41%
34.5th percentile
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.
Affected
10 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| deno | deno | >= 1.41.3 < 2.1.13 | 2.1.13 |
| deno | deno | >= 1.41.3 < 2.1.13 | 2.1.13 |
| deno | deno | >= 2.2.0 < 2.2.13 | 2.2.13 |
| deno | deno | >= 2.2.0 < 2.2.13 | 2.2.13 |
| deno | deno | >= 2.3.0 < 2.3.2 | 2.3.2 |
| deno | deno | >= 2.3.0 < 2.3.2 | 2.3.2 |
| deno | deno_runtime | >= 0.150.0 < 0.212.0 | 0.212.0 |
| denoland | deno | — | — |
| denoland | deno | — | — |
| denoland | deno | — | — |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
nvdv4.05.5MEDIUMCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Deno run with --allow-read and --deny-read flags results in allowed
ghsa·2025-06-04
CVE-2025-48888 [MEDIUM] CWE-863 Deno run with --allow-read and --deny-read flags results in allowed
Deno run with --allow-read and --deny-read flags results in allowed
### Summary
`deno run --allow-read --deny-read main.ts` results in allowed, even though 'deny' should be stronger. Same with all global unary permissions given as `--allow-* --deny-*`.
### Details
Caused by the fast exit logic in #22894.
### PoC
Run the above command expecting no permissions to be passed.
### Impact
This only affects a nonsensical combination of flags, so there shouldn't be a real impact on the userbase.
OSV
Deno run with --allow-read and --deny-read flags results in allowed
osv·2025-06-04
CVE-2025-48888 [MEDIUM] Deno run with --allow-read and --deny-read flags results in allowed
Deno run with --allow-read and --deny-read flags results in allowed
### Summary
`deno run --allow-read --deny-read main.ts` results in allowed, even though 'deny' should be stronger. Same with all global unary permissions given as `--allow-* --deny-*`.
### Details
Caused by the fast exit logic in #22894.
### PoC
Run the above command expecting no permissions to be passed.
### Impact
This only affects a nonsensical combination of flags, so there shouldn't be a real impact on the userbase.
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/denoland/deno/commit/2f0fae9d9071dcaf0a689bc7097584b1b9ebc8dbhttps://github.com/denoland/deno/commit/9d665572d3cd39f997e29e6daac7c1102fc5c04fhttps://github.com/denoland/deno/commit/ef315b56c26c9ef5f25284a5100d2ed525a148cfhttps://github.com/denoland/deno/pull/22894https://github.com/denoland/deno/pull/29213https://github.com/denoland/deno/security/advisories/GHSA-xqxc-x6p3-w683https://github.com/denoland/deno/security/advisories/GHSA-xqxc-x6p3-w683
2025-06-04
Published