5.2 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Local (L)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Scope (S): Changed (C)
- Confidentiality (C): Low (L)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Local (L)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): Low (L)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
Deno: process.loadEnvFile() bypasses env permission checks and mutates process.env with only read access
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.8.1, 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. This vulnerability is fixed in 2.8.1.
References
-
https://github.com/denoland/deno/security/advisories/GHSA-4c8g-jvcx-v4hv x_refsource_CONFIRM
Affected products
- ==< 2.8.1
Matching in nixpkgs
pkgs.deno
Secure runtime for JavaScript and TypeScript
pkgs.speech-denoiser
Speech denoise lv2 plugin based on RNNoise library
-
nixos-unstable 0-unstable-2018-10-08
- nixpkgs-unstable 0-unstable-2018-10-08
- nixos-unstable-small 0-unstable-2018-10-08
-
nixos-26.05 0-unstable-2018-10-08
- nixos-26.05-small 0-unstable-2018-10-08
- nixpkgs-26.05-darwin 0-unstable-2018-10-08
pkgs.openimagedenoise
High-Performance Denoising Library for Ray Tracing
pkgs.terraform-providers.deno
None
pkgs.python312Packages.denonavr
None
pkgs.python313Packages.denonavr
Automation Library for Denon AVR receivers
pkgs.python314Packages.denonavr
Automation Library for Denon AVR receivers
pkgs.python313Packages.denon-rs232
Async library to control Denon receivers over RS232
pkgs.python314Packages.denon-rs232
Async library to control Denon receivers over RS232
pkgs.haskellPackages.pandoc-sidenote
Convert Pandoc Markdown-style footnotes into sidenotes
pkgs.terraform-providers.denoland_deno
None
pkgs.gnomeExtensions.denon-avr-controler
Denon AVR controler
pkgs.python312Packages.bnunicodenormalizer
None
pkgs.python313Packages.bnunicodenormalizer
Bangla Unicode Normalization Toolkit
pkgs.python314Packages.bnunicodenormalizer
Bangla Unicode Normalization Toolkit
pkgs.vscode-extensions.denoland.vscode-deno
Language server client for Deno
pkgs.home-assistant-component-tests.denonavr
None
Package maintainers
-
@ofalvai Olivér Falvai <ofalvai@gmail.com>
-
@06kellyjac Jack <hello+nixpkgs@j-k.io>
-
@Mynacol Mynacol
-
@honnip Jung seungwoo <me@honnip.page>
-
@LeshaInc Alexey Nikashkin <leshainc@fomalhaut.me>
-
@Mic92 Jörg Thalheim <joerg@thalheim.io>
-
@magnetophon Bart Brouns <bart@magnetophon.nl>
-
@ratsclub Victor Freire <victor@freire.dev.br>
-
@JamieMagee Jamie Magee <jamie.magee@gmail.com>