CVE-2026-12958 — @aws/lsp-codewhisperer
Fix: Amazon-Q-Developer/language-servers#2742CVE-2026-12958 is a CWE-61 vulnerability in @aws/lsp-codewhisperer. A fix is available for @aws/lsp-codewhisperer — see the affected versions and patch details below.
Arbitrary file write in Language Servers for AWS
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-12958.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
@aws/lsp-codewhisperernpmDescription
Summary
Language Servers for AWS (the aws/language-servers project) provides the Language Server Protocol implementations that power AWS developer tooling, including the Amazon Q Developer agentic chat experience, across IDEs such as VS Code, JetBrains, Visual Studio, and Eclipse.
Missing symlink validation in Language Servers for AWS may allow an arbitrary file write outside of the workspace trust boundary. This may occur when a local user opens a workspace containing a maliciously crafted symlink that resolves to a file path outside the workspace trust boundary.
Impact
If a user opens a maliciously crafted workspace containing a symlink that resides within the workspace but resolves to a location outside the workspace trust boundary, the agent may follow that symlink and write to the external location without prompting the user for approval. This can result in the modification of files outside the intended workspace boundary.
This issue is triggered when a user opens a workspace, trusts it, and the agent subsequently writes to a path within that workspace.
Impacted versions: Language Servers for AWS version <1.69.0.
Patches
This issue has been addressed in AWS Language Servers version 1.69.0. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.
Workarounds
No workarounds are available.
References
If you have any questions or comments about this advisory, AWS Security ask that you contact them via their vulnerability reporting page or directly via email to [email protected]. Please do not create a public GitHub issue.
Acknowledgement
AWS Security would like to thank Wiz and Maor Dokhanian for collaborating on this issue through the coordinated vulnerability disclosure process.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @aws/lsp-codewhisperer | all versions | 0.0.117npm install @aws/lsp-codewhisperer@0.0.117 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @aws/lsp-codewhisperer, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @aws/lsp-codewhisperer to 0.0.117 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-12958 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is CVE-2026-12958 in your dependencies?
Find it across npm, including transitive dependencies.