CVE-2025-48888: Deno run with --allow-read and --deny-read flags results in allowed

5.5 CVSS

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.

Classification

CVE ID: CVE-2025-48888

CVSS Base Severity: MEDIUM

CVSS Base Score: 5.5

CVSS Vector: CVSS: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

Problem Types

CWE-863: Incorrect Authorization

Affected Products

Vendor: denoland

Product: deno

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.04% (probability of being exploited)

EPSS Percentile: 10.17% (scored less or equal to compared to others)

EPSS Date: 2025-06-07 (when was this score calculated)

Stakeholder-Specific Vulnerability Categorization (SSVC)

SSVC Exploitation: poc

SSVC Technical Impact: partial

SSVC Automatable: true

References

https://nvd.nist.gov/vuln/detail/CVE-2025-48888
https://github.com/denoland/deno/security/advisories/GHSA-xqxc-x6p3-w683
https://github.com/denoland/deno/pull/22894
https://github.com/denoland/deno/pull/29213
https://github.com/denoland/deno/commit/2f0fae9d9071dcaf0a689bc7097584b1b9ebc8db
https://github.com/denoland/deno/commit/9d665572d3cd39f997e29e6daac7c1102fc5c04f
https://github.com/denoland/deno/commit/ef315b56c26c9ef5f25284a5100d2ed525a148cf

Timeline