Impact
The Angular Language Service VS Code Extension reads the user‑supplied TypeScript SDK path from the workspace configuration without checking VS Code’s Workspace Trust or requesting permission. It then passes that path to the background Node.js language server as a command‑line argument. The language server resolves and dynamically imports the module tsserverlibrary.js from the specified directory. An attacker can create a repository containing a malicious tsserverlibrary.js and a crafted settings file pointing to it. When a developer opens the repository, the extension automatically loads and executes the attacker’s script, leading to remote code execution in the user’s environment. This flaw permits full compromise of the developer’s machine and any services accessed by the extension.
Affected Systems
All installations of the Angular Language Service VS Code Extension prior to version 21.2.4 are vulnerable. The issue affects the angular:angular product used by developers who enable the extension in VS Code workspaces that contain a custom tsdk path specified in .vscode/settings.json.
Risk and Exploitability
The vulnerability carries a CVSS score of 8.7, indicating high severity. The EPSS score is not available, so the likelihood of exploitation cannot be quantified, but the exploitation path requires only that a malicious repository be opened in VS Code—a scenario that can easily occur in collaborative or open‑source environments. The flaw is not yet listed in CISA’s KEV catalog, but given its RCE nature it should be treated with high urgency.
OpenCVE Enrichment