The Angular Language Service VS Code Extension provides a rich editing experience for Angular templates. Prior to 21.2.4, the client-side Angular Language Service VS Code extension reads the custom TypeScript SDK paths typescript.tsdk and js/ts.tsdk.path directly from workspace configurations (.vscode/settings.json) without verifying VS Code Workspace Trust state or asking for user consent (located in client/src/client.ts). The client-side extension then passes the parsed settings path as a command-line argument (--tsdk) to the background Node.js language server process. During server initialization, the background language server resolves and dynamically imports (via standard Node.js require()) the module library tsserverlibrary.js relative to the workspace-specified custom directory path. An attacker can exploit this behavior by committing a repository containing a local malicious tsserverlibrary.js script inside a custom folder, and a crafted .vscode/settings.json file pointing to that folder. When a developer opens the repository folder in VS Code, the extension automatically attempts to initialize and load the server, which dynamically resolves, loads, and executes the malicious script silently in the background. This vulnerability is fixed in 21.2.4.
CVE-2026-49241
This high-severity CVE scores 8.8 under NVD CVSS v3. EPSS exploit probability: 0.2%, top 95% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 8.8
- EG Score
- 8.8(medium)
- EPSS
- 4.9%
- KEV
- Not listed
Published
June 22, 2026
Last Modified
June 26, 2026
Advisory Details (3)
Auto-updated Jun 22, 2026Insecure Workspace Configuration and Dynamic Library Loading in VS Code Angular Language Service Extension · Advisory · angular/angular · GitHub
https://github.com/angular/angular/security/advisories/GHSA-ccq4-xmxr-8hcqfix(vscode-extension): disable language server in untrusted workspaces
Fix merged in angular/angular PR #68886 on 2026-05-22 — awaiting tagged release
https://github.com/angular/angular/pull/68886fix(vscode-extension): prompt for confirmation before loading workspa…
Fix merged in angular/angular PR #68857 on 2026-05-22 — awaiting tagged release
https://github.com/angular/angular/pull/68857Weakness Classification(4)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 20× in last 7d / 64× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-11 22:50 UTCEG score recompute
- 2026-07-11 11:55 UTCEG score recompute
- 2026-07-11 08:27 UTCEPSS rescore
- 2026-07-11 01:00 UTCEG score recompute
- 2026-07-10 14:04 UTCEG score recompute
- 2026-07-10 03:05 UTCEG score recompute
- 2026-07-09 19:10 UTCEPSS rescore
- 2026-07-09 16:10 UTCEG score recompute
- 2026-07-09 05:16 UTCEG score recompute
- 2026-07-08 18:20 UTCEG score recompute
- 2026-07-08 15:16 UTCEPSS rescore
- 2026-07-08 07:26 UTCEG score recompute
- 2026-07-07 20:31 UTCEG score recompute
- 2026-07-07 13:46 UTCEPSS rescore
- 2026-07-07 09:35 UTCEG score recompute
- 2026-07-06 22:40 UTCEG score recompute
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 11:46 UTCEG score recompute
- 2026-07-06 00:47 UTCEG score recompute
- 2026-07-05 13:51 UTCEG score recompute
- 2026-07-05 02:55 UTCEG score recompute
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-04 16:00 UTCEG score recompute
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-04 05:05 UTCEG score recompute
Show 39 moreShow fewer
- 2026-07-03 18:08 UTCEG score recompute
- 2026-07-03 07:08 UTCEG score recompute
- 2026-07-02 20:13 UTCEG score recompute
- 2026-07-02 09:17 UTCEG score recompute
- 2026-07-01 22:22 UTCEG score recompute
- 2026-07-01 15:07 UTCEPSS rescore
- 2026-07-01 11:18 UTCEG score recompute
- 2026-07-01 00:23 UTCEG score recompute
- 2026-06-30 23:22 UTCEPSS rescore
- 2026-06-30 13:28 UTCEG score recompute
- 2026-06-30 02:29 UTCEG score recompute
- 2026-06-29 15:35 UTCEG score recompute
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-29 04:40 UTCEG score recompute
- 2026-06-28 17:42 UTCEG score recompute
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 06:47 UTCEG score recompute
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-27 19:53 UTCEG score recompute
- 2026-06-27 08:58 UTCEG score recompute
- 2026-06-27 03:08 UTCEPSS rescore
- 2026-06-26 22:03 UTCEG score recompute
- 2026-06-26 11:08 UTCEG score recompute▲ 0.10
- 2026-06-26 03:53 UTCNVD updateCVSS v3 → 8.8
- 2026-06-25 22:19 UTCEG score recompute
- 2026-06-25 13:49 UTCEPSS rescore
- 2026-06-25 11:23 UTCEG score recompute
- 2026-06-25 00:28 UTCEG score recompute
- 2026-06-24 14:05 UTCEPSS rescore
- 2026-06-24 13:34 UTCEG score recompute
- 2026-06-24 02:39 UTCEG score recompute
- 2026-06-23 21:33 UTCEPSS rescore
- 2026-06-23 21:33 UTCEPSS rescore
- 2026-06-23 15:44 UTCEG score recompute
- 2026-06-23 04:49 UTCEG score recompute
- 2026-06-22 17:47 UTCEG score recompute
- 2026-06-22 17:45 UTCNVD updatefirst tracked
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-49241?
When was CVE-2026-49241 disclosed?
Is CVE-2026-49241 actively exploited?
What is the CVSS score of CVE-2026-49241?
How do I remediate CVE-2026-49241?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-49241
Is Your Infrastructure Affected by CVE-2026-49241?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.