GHSA-QWP8-X4FF-5H87

Vulnerability from github – Published: 2025-02-03 22:34 – Updated: 2025-02-04 17:29
VLAI?
Summary
ZX Allows Environment Variable Injection for dotenv API
Details

Impact

This vulnerability is an Environment Variable Injection issue in dotenv.stringify, affecting google/zx version 8.3.1.

An attacker with control over environment variable values can inject unintended environment variables into process.env. This can lead to arbitrary command execution or unexpected behavior in applications that rely on environment variables for security-sensitive operations. Applications that process untrusted input and pass it through dotenv.stringify are particularly vulnerable.

Patches

This issue has been patched in version 8.3.2. Users should immediately upgrade to this version to mitigate the vulnerability.

Workarounds

If upgrading is not feasible, users can mitigate the vulnerability by sanitizing user-controlled environment variable values before passing them to dotenv.stringify. Specifically, avoid using ", ', and backticks in values, or enforce strict validation of environment variables before usage.

References

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "zx"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "8.3.1"
            },
            {
              "fixed": "8.3.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "8.3.1"
      ]
    }
  ],
  "aliases": [
    "CVE-2025-24959"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-74"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2025-02-03T22:34:08Z",
    "nvd_published_at": "2025-02-03T21:15:15Z",
    "severity": "MODERATE"
  },
  "details": "### Impact\nThis vulnerability is an **Environment Variable Injection** issue in `dotenv.stringify`, affecting `google/zx`  version **8.3.1**.\n\nAn attacker with control over environment variable values can inject unintended environment variables into `process.env`. This can lead to **arbitrary command execution** or **unexpected behavior** in applications that rely on environment variables for security-sensitive operations. Applications that process untrusted input and pass it through `dotenv.stringify` are particularly vulnerable.\n\n### Patches\nThis issue has been **patched** in version **8.3.2**. Users should **immediately upgrade** to this version to mitigate the vulnerability.\n\n### Workarounds\nIf upgrading is not feasible, users can mitigate the vulnerability by **sanitizing user-controlled environment variable values** before passing them to `dotenv.stringify`. Specifically, avoid using `\"`, `\u0027`, and backticks in values, or enforce strict validation of environment variables before usage.\n\n### References\n- [Issue Report](https://github.com/google/zx/issues/)\n- [Security Policy](https://github.com/google/zx/security/policy)\n- [Google Vulnerability Disclosure](https://g.co/vulnz)\n- [Patch](https://github.com/google/zx/pull/1094)",
  "id": "GHSA-qwp8-x4ff-5h87",
  "modified": "2025-02-04T17:29:11Z",
  "published": "2025-02-03T22:34:08Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/google/zx/security/advisories/GHSA-qwp8-x4ff-5h87"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-24959"
    },
    {
      "type": "WEB",
      "url": "https://github.com/google/zx/pull/1094"
    },
    {
      "type": "WEB",
      "url": "https://github.com/google/zx/commit/5ba714d14ecf0555a74d4db96622840ac19839c5"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/google/zx"
    },
    {
      "type": "WEB",
      "url": "https://github.com/webpod/envapi/blob/v0.2.1/src/main/ts/envapi.ts#L74-L77"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "ZX Allows Environment Variable Injection for dotenv API"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…