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.
| Software | From | Fixed in |
|---|---|---|
deno
|
- | 2.1.13 |
deno
|
2.2.0 | 2.2.13 |
deno_runtime
|
- | 0.212.0 |
| deno / deno | 2.2.0 | 2.2.13 |
| deno / deno | - | 2.1.13 |