Read the docs
TI-2023-30857 Aliases GHSA-wj7f-468m-6mv8

Environment variables still accessible through /proc

Priority LOW 38CWE-200Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Information disclosure
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-200.

Summary

### Impact Environment variables can be read from procfs unless a new process is started. ### PoC ``` use birdcage::{Birdcage, Sandbox}; use std::{env, fs}; fn main() { Birdcage::new().lock().unwrap(); assert_eq!(env::var_os("SECRET"), None); let environ = fs::read_to_string("/proc/self/environ").unwrap(); assert!(!environ.contains("SECRET"), "ENVIRON CONTAINS SECRET:\n{environ}"); } ``` ``` $ SECRET=test cargo run thread 'main' panicked at src/main.rs:10:5: ENVIRON CONTAINS SECRET: [truncated] ``` ### Possible Solutions The simplest solution would be relying on the ptrace isolation and **always** spawning a new process by changing birdcage's API to create a new command. With an additional PID namespace the guarantees could be even further reinforced.

Why it matters now

Fix Fixed birdcage (crates.io): 0.7.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—birdcage (crates.io)before 0.7.00.7.0Patch availableGHSA-wj7f-468m-6mv8
  • birdcage (crates.io) Vendor— Affected before 0.7.0 Fixed in 0.7.0 Patch available GHSA-wj7f-468m-6mv8

Remediation

  • Fix · GHSA-wj7f-468m-6mv8 birdcage (crates.io) Fixed in 0.7.0 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-wj7f-468m-6mv8

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences