CVE-2026-21518: Verified Repro With Script Download
CVE-2026-21518: cve-2026-21518
CVE-2026-21518 is verified against the affected target. This high reproduction includes runnable sandbox proof, artifacts, and a plain-text agent view under REPRO-2026-00118.
What Is CVE-2026-21518?
CVE-2026-21518 is a medium-severity vulnerability in VS Code / GitHub Copilot where MCP server definitions in workspace settings could start without workspace trust. Pruva reproduced it (reproduction REPRO-2026-00118).
CVE-2026-21518 Severity & CVSS Score
CVE-2026-21518 is rated high severity, with a CVSS base score of 8.8 out of 10.
High — serious impact or readily exploitable. Prioritize remediation.
How to Reproduce CVE-2026-21518
pruva-verify REPRO-2026-00118 curl -O https://pruva.dev/api/v1/reproductions/REPRO-2026-00118/artifacts/reproduction_steps.sh && chmod +x reproduction_steps.sh && ./reproduction_steps.sh Proof of Reproduction for CVE-2026-21518
Reproduced by Pruva's autonomous agents — 276 tool calls over 41 min. Full root-cause analysis and the complete transcript are below.
How the agent worked
Root Cause and Exploit Chain for CVE-2026-21518
VS Code/GitHub Copilot MCP server definitions in workspace settings could start without workspace trust, enabling command execution via malicious .vscode/settings.json; fixed by adding workspace trust checks and punycode encoding for domain normalization.
CVE-2026-21518 Reproduction Transcript
The agent's step-by-step process — every tool call, every handoff, the moment the exploit fired.
Full session Replay every step — scrub the timeline or play it back.
pwd/root/.pruva/runs/cve-2026-21518_20260221-080904
git clone --depth=200 https://github.com/microsoft/vscode.git /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode{"cwd":"/root/.pruva/runs/cve-2026-21518_20260221-080904","duration_ms":26162,"exit_code":0,"stderr":"Cloning into '/root/.pruva/runs/cve-2026-21518_20260221-080904/vscode'...\nUpdating files: 27% (2574/9510)\rUpdating files: 28% (2663/9510)\rUpdating files: 29% (2758/9510)\rUpdating files: 30% (2853/9510)\rUpdating files: 31% (2949/9510)\rUpdating files: 32% (3044/9510)\rUpdating files: 33% (3139/9510)\rUpdating files: 34% (3234/9510)\rUpdating files: 35% (3329/9510)\rUpdating files: 36% (3424/9510)\rUpdating files: 37% (3519/9510)\rUpdating files: 38% (3614/9510)\rUpdating files: 39% (3709/9510)\rUpdating files: 40% (3804/9510)\rUpdating files: 41% (3900/9510)\rUpdating files: 42% (3995/9510)\rUpdating files: 43% (4090/9510)\rUpdating files: 44% (4185/9510)\rUpdating files: 45% (4280/9510)\rUpdating files: 46% (4375/9510)\rUpdating files: 47% (4470/9510)\rUpdating files: 48% (4565/9510)\rUpdating files: 48% (4570/9510)\rUpdating files: 49% (4660/9510)\rUpdating files: 50% (4755/9510)\rUpdating files: 51% (4851/9510)\rUpdating files: 52% (4946/9510)\rUpdating files: 53% (5041/9510)\rUpdating files: 54% (5136/9510)\rUpdating files: 55% (5231/9510)\rUpd… [truncated]git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode log --all --oneline --grep="CVE-2026-21518" | head -n 5git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode log --all --oneline --grep="cd11faec7b031b928bc5ec37f350d623ffb28713" | head -n 5git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode cat-file -t cd11faec7b031b928bc5ec37f350d623ffb28713fatal: git cat-file: could not get object info
git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode tag --list "1.109.*" | head -n 20git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode rev-parse HEAD6e91d50e716e10d08f69dab525b801e9cfa022c7
git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode fetch --depth=500 origin cd11faec7b031b928bc5ec37f350d623ffb28713From https://github.com/microsoft/vscode * branch cd11faec7b031b928bc5ec37f350d623ffb28713 -> FETCH_HEAD
git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode cat-file -t cd11faec7b031b928bc5ec37f350d623ffb28713commit
git -C /root/.pruva/runs/cve-2026-21518_20260221-080904/vscode show cd11faec7b031b928bc5ec37f350d623ffb28713 --statcommit cd11faec7b031b928bc5ec37f350d623ffb28713
Author: Johannes Rieken <jrieken@microsoft.com>
Date: Mon Feb 9 08:38:37 2026 +0100
CVE-2026-21518 (MSRC#106249) (#32)
* strings: add a punycode encoding function
Artifacts and Evidence for CVE-2026-21518
Scripts, logs, diffs, and output captured during the reproduction.
No artifacts available
How to Fix CVE-2026-21518
FAQ: CVE-2026-21518
How does the CVE-2026-21518 attack work?
How severe is CVE-2026-21518?
How can I reproduce CVE-2026-21518?
References for CVE-2026-21518
Authoritative sources for CVE-2026-21518 — official vulnerability databases and the upstream advisory. Pruva's reproduction verifies the issue firsthand; these are the primary records to corroborate it.