Skip to content
OpenAdvisories
Medium · 5.5 CVE-2025-48934 EUVD-2025-16913GHSA-7w8p-chxq-2789

Deno.env.toObject() ignores the variables listed in --deny-env and returns all environment variables

Published Jun 4, 2025 · Updated Jun 4, 2025 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
denoland deno < 2.1.13, >= 2.2.0, < 2.2.13 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io deno < 2.1.13 2.1.13 GHSA-7w8p-chxq-2789
crates.io deno >= 2.2.0, < 2.2.13 2.2.13 GHSA-7w8p-chxq-2789
crates.io deno_runtime < 0.212.0 0.212.0 GHSA-7w8p-chxq-2789

References