OSV 1.4.0 · github-reviewed · 修改于 2026-07-21 05:01
发布时间
2026-06-17 03:04
GitHub 审查时间
2026-06-17 03:04
NVD 发布时间
2026-06-24 02:18
源文件
advisories/github-reviewed/2026/06/GHSA-4c8g-jvcx-v4hv/GHSA-4c8g-jvcx-v4hv.json
In Deno, environment access is gated by the env permission. You can deny it
with --deny-env, or restrict it to a specific allowlist with
--allow-env=FOO,BAR. The expectation is that a program running without env
permission cannot change process.env.
process.loadEnvFile() (the Node-compatible API for loading variables from a
.env file) does not honor this. It only checks that the program has
read permission for the dotenv file, then writes every key in that file
into the process environment — even when env access is denied.
In effect, --allow-read plus a writable or attacker-controlled .env file
is enough to defeat --deny-env.
You are potentially affected if all of the following are true:
process.loadEnvFile()
from node:process.--deny-env, an
--allow-env=… allowlist, or running without granting env — as a
security boundary..env path passed to loadEnvFile() can be controlled or modified by
a less-trusted party (untrusted input, user-writable directory, third-party
dependency, etc.) and is covered by your --allow-read grant.If your program does not use process.loadEnvFile() at all, or if it already
grants full env access, this advisory does not change your risk.