CVE-2025-48934 json
Deno.env.toObject() ignores the variables listed in --deny-env and returns all environment variables
published 2025-06-04 17 mo ago modified 2026-09-10 1 mo ago also EUVD-2025-16913 , GHSA-7w8p-chxq-2789 , JLSEC-2026-110
- cvss
- 5.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to versions 2.1.13 and 2.2.13, the `Deno.env.toObject` method ignores any variables listed in the `--deny-env` option of the `deno run` command. When looking at the documentation of the `--deny-env` option this might lead to a false impression that variables listed in the option are impossible to read. Software relying on the combination of both flags to allow access to most environment variables except a few sensitive ones will be vulnerable to malicious code trying to steal secrets using the `Deno.env.toObject()` method. Versions 2.1.13 and 2.2.13 contains a patch.
Patch / fix
- crates.io deno 2.1.13, 2.2.13
- crates.io deno_runtime 0.212.0
- julia Deno_jll 2.6.3+0
- deno deno 2.1.13, 2.2.13
- deno deno_runtime 0.212.0
- github.com/denoland/deno@2959e08 commit
- github.com/denoland/deno@946ccda commit
- github.com/denoland/deno#29079 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 17 mo ago
Exploit prediction
0.44% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/denoland/deno/security/advisories/GHSA-7w8p-chxq-2789 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| CNA | 4.0 | 5.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/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 |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | deno | <2.1.13 >=2.2.0, <2.2.13 |
2.1.13 2.2.13 |
| crates.io | deno_runtime | <0.212.0 |
0.212.0 |
| julia | Deno_jll | <2.6.3+0 |
2.6.3+0 |
Affected products
- denoland deno
Classification
- Weakness
-
- CWE-201 Insertion of Sensitive Information Into Sent Data
References
-
github.com
/denoland/deno/pull/29079
web, issue-tracking, patch
-
github.com
/denoland/deno/commit/2959e083912420988066a001c2b2d6732a1b562f
web, patch
-
github.com
/denoland/deno/commit/946ccda1aa19a00c478a5e6826b75053b050d753
web, patch
-
github.com
/denoland/deno/security/advisories/GHSA-7w8p-chxq-2789
exploit, web, vendor-advisory
-
docs.deno.com
/api/deno/~/Deno.Env.toObject
web, product
-
docs.deno.com
/runtime/fundamentals/security/#environment-variables
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2025-48934
advisory, web
-
github.com
/denoland/deno
package
-
github.com
/advisories/GHSA-7w8p-chxq-2789
web
Sources
- CVE List CVE-2025-48934
- GitHub Advisory GHSA-7w8p-chxq-2789
- NVD CVE-2025-48934
- OSV JLSEC-2026-110
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.