ghsa-2jjv-qf24-vfm4
Vulnerability from github
Summary
In Claude Code versions prior to 1.0.39, when the tool is used with Yarn 2.x or newer (Berry), Yarn plugins are automatically loaded and executed when running yarn --version
. In Claude Code this sequence could execute plugin code before the user accepts the directory trust prompt for an untrusted workspace, resulting in a potential arbitrary code execution path. Yarn Classic (v1) is not affected. The issue is fixed in 1.0.39.
Impact
An attacker who can influence the project directory to include or reference a malicious Yarn plugin, or who can otherwise cause plugin execution in an untrusted directory, may achieve code execution on the machine where Claude Code is invoked. The vulnerability compromises the confidentiality, integrity and availability of the vulnerable host process.
Remediation
Update Claude Code to 1.0.39 or later. Users on auto-update channels receive the fix automatically; manual installations should upgrade explicitly. As defense in depth, avoid running Yarn in untrusted directories and prefer Yarn Classic when plugin functionality is not required.
Background
Yarn 2+ supports a plugin architecture in which plugins are loaded at runtime and can inject behavior into Yarn commands; this capability underpins the observed auto-execution on yarn --version
.
Thank you to https://hackerone.com/michel_ for reporting this issue!
{ "affected": [ { "package": { "ecosystem": "npm", "name": "@anthropic-ai/claude-code" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.0.39" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-59828" ], "database_specific": { "cwe_ids": [ "CWE-829", "CWE-862" ], "github_reviewed": true, "github_reviewed_at": "2025-09-24T18:57:44Z", "nvd_published_at": "2025-09-24T20:15:33Z", "severity": "HIGH" }, "details": "### Summary\n\nIn Claude Code versions prior to **1.0.39**, when the tool is used with **Yarn 2.x or newer (Berry)**, Yarn plugins are automatically loaded and executed when running `yarn --version`. In Claude Code this sequence could execute plugin code before the user accepts the directory trust prompt for an untrusted workspace, resulting in a potential arbitrary code execution path. **Yarn Classic (v1)** is not affected. The issue is fixed in **1.0.39**.\n\n### Impact\n\nAn attacker who can influence the project directory to include or reference a malicious Yarn plugin, or who can otherwise cause plugin execution in an untrusted directory, may achieve code execution on the machine where Claude Code is invoked. The vulnerability compromises the confidentiality, integrity and availability of the vulnerable host process.\n\n### Remediation\n\nUpdate Claude Code to **1.0.39** or later. Users on auto-update channels receive the fix automatically; manual installations should upgrade explicitly. As defense in depth, avoid running Yarn in untrusted directories and prefer Yarn Classic when plugin functionality is not required.\n\n### Background\n\nYarn 2+ supports a plugin architecture in which plugins are loaded at runtime and can inject behavior into Yarn commands; this capability underpins the observed auto-execution on `yarn --version`.\n\n---\n\n\u003e Thank you to https://hackerone.com/michel_ for reporting this issue!", "id": "GHSA-2jjv-qf24-vfm4", "modified": "2025-09-26T17:49:05Z", "published": "2025-09-24T18:57:44Z", "references": [ { "type": "WEB", "url": "https://github.com/anthropics/claude-code/security/advisories/GHSA-2jjv-qf24-vfm4" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-59828" }, { "type": "PACKAGE", "url": "https://github.com/anthropics/claude-code" }, { "type": "WEB", "url": "https://osv.dev/vulnerability/GHSA-2jjv-qf24-vfm4" }, { "type": "WEB", "url": "https://www.cve.org/CVERecord?id=CVE-2025-59828" }, { "type": "WEB", "url": "https://yarnpkg.com/advanced/plugin-tutorial" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "type": "CVSS_V4" } ], "summary": "Claude Code Vulnerable to Arbitrary Code Execution via Plugin Autoloading with Specific Yarn Versions" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.