GHSA-6v3r-4p5c-mrp5: High severity npm/@aws/lsp-codewhisperer vulnerability
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 aws-security@amazon.com. 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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/@aws/lsp-codewhispererto a version that resolves this vulnerability.Fixed in 0.0.117 - Upgrade
Upgrade
Language Servers for AWSto a version that resolves this vulnerability.Fixed in 1.69.0
Event History
Frequently Asked Questions
Which environments are exposed to this issue?
Language Servers for AWS versions earlier than 1.69.0 are impacted. The affected component powers AWS developer tooling, including the Amazon Q Developer agentic chat experience, in IDEs such as VS Code, JetBrains, Visual Studio, and Eclipse.
What must an attacker or malicious workspace provide to trigger the issue?
A local user must open and trust a workspace containing a malicious symlink located inside the workspace that resolves to a path outside the workspace trust boundary. The agent must then write to the symlinked path.
Is merely opening an untrusted workspace enough to cause file modification?
No. The user must open the workspace and mark it as trusted, and the agent must subsequently perform a write to a path within that workspace.
What is the practical impact of successful exploitation?
The agent can follow the crafted symlink and modify a file outside the intended workspace boundary without asking the user for approval.