GitHub Advisoryadvisory · crates.io
GHSA-xqxc-x6p3-w683 Deno run with --allow-read and --deny-read flags results in allowed
MEDIUM
Official page ↗
- Aliases
- CVE-2025-48888
- Ecosystem
- crates.io
- Packages
- deno, deno_runtime
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-863
- Reviewed
- 2025-06-04
Affected packages
• crates.io deno: >= 1.41.3, < 2.1.13 → fixed in 2.1.13
• crates.io deno: >= 2.2.0, < 2.2.13 → fixed in 2.2.13
• crates.io deno: >= 2.3.0, < 2.3.2 → fixed in 2.3.2
• crates.io deno_runtime: >= 0.150.0, < 0.212.0 → fixed in 0.212.0
Description
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.
Related
Alias · CVE (1)
- CVE-2025-48888 Deno is a JavaScript, TypeScript, and WebAssembly runtime. vulnerability
Weakness · CWE (1)
- CWE-863 Incorrect Authorization weakness
References
- https://github.com/denoland/deno/security/advisories/GHSA-xqxc-x6p3-w683 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-48888 advisory
- https://github.com/denoland/deno/pull/22894 web
- https://github.com/denoland/deno/pull/29213 web
- https://github.com/denoland/deno/commit/2f0fae9d9071dcaf0a689bc7097584b1b9ebc8db web
- https://github.com/denoland/deno/commit/9d665572d3cd39f997e29e6daac7c1102fc5c04f web
- https://github.com/denoland/deno/commit/ef315b56c26c9ef5f25284a5100d2ed525a148cf web
- https://github.com/denoland/deno package