# CVE-2026-49241: Angular Language Service VS Code Extension RCE via Insecure SDK Path Loading

Source: https://junglewise.ai/threats/cve-2026-49241-angular-language-service-vs-code-extension-rce-via-insecure-sdk  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-22. Updated: 2026-06-22  
License: CC BY 4.0 with a link back

CVE-2026-49241 · Severity: info · CVSS 9.3 · Published 2026-06-22

The Angular Language Service extension for Visual Studio Code, which provides code editing features for Angular developers, contains a critical security flaw. An attacker can create a malicious project folder that, when opened by a developer, automatically executes hidden code on the developer's computer. This bypasses standard security warnings and could lead to a full system compromise, data theft, or the installation of malware just by viewing a repository.

Vendors: [Angular](https://junglewise.ai/threats/vendors/angular).

## Quick answers

**Is CVE-2026-49241 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-49241 being exploited in the wild.

**How severe is CVE-2026-49241?** Informational severity, with a CVSS score of 9.3, published 22 June 2026.

**Which products and versions are affected?** Angular Language Service VS Code Extension < 21.2.4.

**Is there a fix for CVE-2026-49241?** A patch was published on 2026-05-22: Fixes merged into main branch Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-49241 attacked?** It is attacked over the network, in a network appliance.

**Am I affected by CVE-2026-49241?** Check whether you run Angular Language Service VS Code Extension at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The Angular Language Service VS Code extension (Angular.ng-template) fails to verify VS Code Workspace Trust before reading custom TypeScript SDK paths (typescript.tsdk and js/ts.tsdk.path) from .vscode/settings.json. These paths are passed as a command-line argument (--tsdk) to a background Node.js language server process. During initialization, the server uses require() to dynamically import tsserverlibrary.js from the attacker-controlled path. An attacker can exploit this by committing a malicious script and a crafted settings file to a repository. When a user opens the folder, the extension automatically executes the malicious code with the privileges of the VS Code process. This is fixed in version 21.2.4 by ignoring workspace-level SDK paths in untrusted workspaces and requiring user consent in trusted ones.

## Affected products

- Angular Angular Language Service VS Code Extension (Angular.ng-template) < 21.2.4

## Timeline

- 2026-05-21: other: Initial fix PR submitted
- 2026-05-22: patched: Fixes merged into main branch
- 2026-05-23: advisory: GitHub Security Advisory published
- 2026-06-22: disclosed: CVE published to NVD

## References

- [https://github.com/angular/angular/pull/68857](https://github.com/angular/angular/pull/68857)
- [https://github.com/angular/angular/pull/68886](https://github.com/angular/angular/pull/68886)
- [https://github.com/angular/angular/security/advisories/GHSA-ccq4-xmxr-8hcq](https://github.com/angular/angular/security/advisories/GHSA-ccq4-xmxr-8hcq)

## Related threats

- [Angular Language Service VS Code Extension command injection in JSDoc tooltips](https://junglewise.ai/threats/cve-2026-50178-angular-language-service-vs-code-extension-command-injection-in)
