GitHub Advisoryadvisory · Go, RubyGems

GHSA-2c47-m757-32g6 Insufficient input sanitization in ejson2env

MEDIUM Published 2025-05-21 Modified 2025-05-27 Official page ↗
Aliases
CVE-2025-48069
Ecosystem
Go, RubyGems
Packages
github.com/Shopify/ejson2env/v2, ejson2env, github.com/Shopify/ejson2env
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-78
Reviewed
2025-05-21

Affected packages

• Go github.com/Shopify/ejson2env/v2: < 2.0.8 → fixed in 2.0.8 • RubyGems ejson2env: < 2.0.8 → fixed in 2.0.8 • Go github.com/Shopify/ejson2env: < 2.0.8 (no fix yet)

Description

Summary The `ejson2env` tool has a vulnerability related to how it writes to `stdout`. Specifically, the tool is intended to write an export statement for environment variables and their values. However, due to inadequate output sanitization, there is a potential risk where variable names or values may include malicious content, resulting in additional unintended commands being output to `stdout`. If this output is improperly utilized in further command execution, it could lead to command injection vulnerabilities, allowing an attacker to execute arbitrary commands on the host system. Details The vulnerability exists because environment variables are not properly sanitized during the decryption phase, which enables malicious keys or encrypted values to inject commands. Impact An attacker with control over `.ejson` files can inject commands in the environment where `source $(ejson2env)` or `eval ejson2env` are executed. Mitigation • Update to a version of `ejson2env` that sanitizes the output during decryption or • Do not use `ejson2env` to decrypt untrusted user secrets or • Do not evaluate or execute the direct output from `ejson2env` without removing nonprintable characters. Credit Thanks to security researcher Demonia for reporting this issue.

Related

Alias · CVE (1)

  • CVE-2025-48069 ejson2env allows users to decrypt EJSON secrets and export them as environment variables. vulnerability

Weakness · CWE (1)

  • CWE-78 Improper Neutralization of Special Elements used in an OS Command weakness

References