GitHub Advisoryadvisory · crates.io

GHSA-xqxc-x6p3-w683 Deno run with --allow-read and --deny-read flags results in allowed

MEDIUM Published 2025-06-04 Modified 2025-07-02 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