Impact
The Angular Language Service VS Code Extension incorrectly configures the tooltip Markdown renderer with the isTrusted: true option, which allows active command URIs to be executed directly within the editor. Because the server fails to escape or sanitize brackets, raw links, and control characters from JSDoc tooltip strings, an attacker can embed a malicious command link into a TypeScript or JavaScript file—either within a project or a third‑party npm dependency. When a developer hovers over that symbol and clicks the malicious link, the IDE runs the command sequence on the host machine, resulting in arbitrary code execution on the developer’s local system. The vulnerability is a combination of cross‑site scripting (CWE‑79) and code injection (CWE‑94).
Affected Systems
Angular’s Angular Language Service VS Code Extension, used by projects that include angular:Angular.ng-template and angular:angular packages. Any version prior to 21.2.4 is affected; the fix is included in 21.2.4 and later releases.
Risk and Exploitability
The CVSS score of 8.7 signals high severity. Because the EPSS score is not available, no quantitative exploitation probability is given, and the vulnerability is not listed in the CISA KEV catalog. The exploit requires a developer to open a malicious Angular project in VS Code, hover over a symbol, and click the injected command link. It is not remotely exploitable over the network; control is limited to the local environment of the user who opens the vulnerable project. Nonetheless, any developer who conducts normal editing tasks with the extension is at risk if they interact with suspicious tooltip content.
OpenCVE Enrichment