{"id":"GHSA-6856-87hx-p5x7","kind":"vulnerability","aliases":["GHSA-6856-87hx-p5x7"],"related":[],"title":"Microsoft Security Advisory CVE-2026-105544 - .NET Elevation of Privilege Vulnerability","description":"## Executive summary\n\nMicrosoft is releasing this security advisory to provide information about a vulnerability in .NET. This advisory provides guidance on updating affected applications and components.\n\nThe VSTest artifact postprocessor can consume a forged `executionComplete.json` from another local user and execute attacker-controlled output handling.\n\n## Announcement\n\nAnnouncement for this issue can be found at https://github.com/dotnet/announcements/issues/517\n\n## CVSS Details\n\n- **Version:** 3.1\n- **Severity:** High\n- **Score:** 7.5 (base score)\n- **Vector:** `CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C`\n- **Weakness:** CWE-284\n\n## Affected Platforms\n\n- **Platforms:** Windows, Linux, macOS\n- **Architectures:** All\n\n## <a name=\"affected-packages\"></a>Affected Packages\n\nThe tables list affected versions of Microsoft.TestPlatform.CLI and their patched versions. The VSTest CLI is also bundled in the .NET SDK; SDK versions are listed separately below. Updating a separately installed CLI package does not replace the SDK-bundled test runner.\n\nMicrosoft.TestPlatform.CLI is affected starting with 17.2.0-preview-20220301-01, including the first stable release, 17.2.0. Use a patched version listed below for a compatible servicing line.\n\n### VSTest NuGet package\n\nPackage | Affected version | Patched version\n--- | --- | ---\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | >= 17.2.0-preview-20220301-01, < 17.3.0 | 17.3.4\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.3.0 | 17.3.4\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.3.1 | 17.3.4\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.3.2 | 17.3.4\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.3.3 | 17.3.4\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.8.0 | 17.8.1\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.11.0 | 17.11.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.11.1 | 17.11.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.12.0 | 17.12.1\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.14.0 | 17.14.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.14.1 | 17.14.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.0.0 | 18.0.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.0.1 | 18.0.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.7.0 | 18.7.1\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.10.0 | 18.10.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.10.1 | 18.10.2\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.11.0 | 18.11.1\n\nStable 18.10.1 remains affected; use Microsoft.TestPlatform.CLI 18.10.2 on that servicing line.\n\n### Other affected VSTest NuGet versions\n\nPackage | Affected version | Patched version\n--- | --- | ---\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.4.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.4.1 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.5.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.6.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.6.1 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.6.2 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.6.3 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.7.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.7.1 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.7.2 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.9.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.10.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 17.13.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.3.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.4.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.5.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.5.1 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.6.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.8.0 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.8.1 | Use a compatible patched version listed above\n[Microsoft.TestPlatform.CLI](https://www.nuget.org/packages/Microsoft.TestPlatform.CLI) | = 18.9.0 | Use a compatible patched version listed above\n\nThese releases have no same-line fixed package in this update. Move to a compatible fixed servicing line listed above.\n\n### Affected VSTest prerelease versions\n\nThe following table applies to Microsoft.TestPlatform.CLI.\n\nAffected version | Patched version\n--- | ---\n= 17.3.0-preview-20220426-02 | Use a compatible patched version listed above\n= 17.3.0-preview-20220530-08 | Use a compatible patched version listed above\n= 17.3.0-preview-20220612-01 | Use a compatible patched version listed above\n= 17.4.0-preview-20220707-01 | Use a compatible patched version listed above\n= 17.4.0-preview-20220726-02 | Use a compatible patched version listed above\n= 17.4.0-preview-20221003-03 | Use a compatible patched version listed above\n= 17.4.0-release-20220926-01 | Use a compatible patched version listed above\n= 17.5.0-preview-20221003-04 | Use a compatible patched version listed above\n= 17.5.0-preview-20221221-03 | Use a compatible patched version listed above\n= 17.6.0-preview-20230223-05 | Use a compatible patched version listed above\n= 17.7.0-preview-23364-03 | Use a compatible patched version listed above\n= 17.7.0-preview.23280.1 | Use a compatible patched version listed above\n= 17.8.0-preview-23371-04 | Use a compatible patched version listed above\n= 17.8.0-preview-23424-02 | Use a compatible patched version listed above\n= 17.8.0-release-23468-02 | Use a compatible patched version listed above\n= 17.9.0-preview-23503-02 | Use a compatible patched version listed above\n= 17.9.0-preview-23531-01 | Use a compatible patched version listed above\n= 17.9.0-preview-23577-04 | Use a compatible patched version listed above\n= 17.9.0-release-23619-01 | Use a compatible patched version listed above\n= 17.10.0-preview-24080-01 | Use a compatible patched version listed above\n= 17.10.0-release-24177-07 | Use a compatible patched version listed above\n= 17.11.0-release-24352-06 | Use a compatible patched version listed above\n= 17.11.0-release-24373-02 | Use a compatible patched version listed above\n= 17.14.0-preview-25107-01 | Use a compatible patched version listed above\n\n### Fixed .NET SDK deliveries\n\nPackage | Affected version | Patched version\n--- | --- | ---\n.NET SDK 8.0.1xx | >= 8.0.100, <= 8.0.133 | 8.0.134 (bundled VSTest: 17.8.1-hotfix-26528-33)\n.NET SDK 8.0.4xx | >= 8.0.400, <= 8.0.427 | 8.0.428 (bundled VSTest: 17.11.2-hotfix-26528-32)\n.NET SDK 9.0.1xx | >= 9.0.100, <= 9.0.123 | 9.0.124 (bundled VSTest: 17.12.1-hotfix-26528-39)\n.NET SDK 9.0.3xx | >= 9.0.300, <= 9.0.320 | 9.0.321 (bundled VSTest: 17.14.2-hotfix-26528-35)\n.NET SDK 10.0.1xx | >= 10.0.100, <= 10.0.114 | 10.0.115 (bundled VSTest: 18.0.2-hotfix-26529-108)\n.NET SDK 10.0.4xx | >= 10.0.400, <= 10.0.403 | 10.0.404 (bundled VSTest: 18.7.1-hotfix-26529-119)\n.NET SDK 11.0.1xx | >= 11.0.100-preview.1.26104.118, <= 11.0.100-rc.3.26522.148 | 11.0.100 (bundled VSTest: 18.12.0-hotfix-26529-118)\n\nEarlier SDKs in these serviced feature bands must be updated. The first .NET 11 general-availability SDK is fixed; its earlier preview and release-candidate SDKs require an update to 11.0.100.\n\n## Advisory FAQ\n\n### <a name=\"how-affected\"></a>How do I know if I am affected?\n\nCheck the version of Microsoft.TestPlatform.CLI used by your standalone VSTest installation.\n\nRun `dotnet --list-sdks` to list installed SDKs and `dotnet --version` from the project directory to identify the selected SDK, including any `global.json` selection.\n\n### <a name=\"how-fix\"></a>How do I fix the issue?\n\nFor standalone VSTest CLI installations, replace Microsoft.TestPlatform.CLI with its patched version listed above. For releases without a same-line fix, use a compatible fixed servicing line listed above.\n\nInstall a fixed SDK listed above and ensure test invocations select it. Updating a separately installed CLI package does not replace VSTest embedded in an older SDK.\n\n## Other Information\n\n### Reporting Security Issues\n\nIf you have found a potential security issue in a supported version of .NET, please report it to the Microsoft Security Response Center (MSRC) via the [MSRC Researcher Portal](https://msrc.microsoft.com/report/vulnerability/new). Further information can be found in the MSRC [Report an Issue FAQ](https://www.microsoft.com/msrc/faqs-report-an-issue).\n\nSecurity reports made through MSRC may qualify for the Microsoft .NET Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at https://aka.ms/corebounty.\n\n### Support\n\nYou can ask questions about this issue in the VSTest repository at https://github.com/microsoft/vstest. The Announcements repo (https://github.com/dotnet/Announcements) will contain this bulletin as an issue and will include a link to a discussion issue. You can ask questions in the linked discussion issue.\n\n### Disclaimer\n\nThe information provided in this advisory is provided \"as is\" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.\n\n### External Links\n\n[CVE-2026-105544](https://www.cve.org/CVERecord?id=CVE-2026-105544)\n\n### Acknowledgements\n\n- [Weeraphat Srisutham](https://linkedin.com/in/weeraphat-srisutham)\n- [Ky0toFu](https://x.com/ky0tofu)\n\n### Revisions\n\nV1.0 (November 10, 2026): Advisory published.","summary":"The VSTest artifact postprocessor in Microsoft.TestPlatform.CLI trusts an executionComplete.json file that another local user can forge, and then runs attacker-controlled output handling. A local user on the same machine can therefore gain privileges.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"Microsoft.TestPlatform.CLI","fixed":["17.3.4"],"affected":">= 17.2.0-preview-20220301-01, < 17.3.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.3.4"],"affected":"= 17.3.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.3.4"],"affected":"= 17.3.2","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.3.4"],"affected":"= 17.3.3","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.8.1"],"affected":"= 17.8.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.11.2"],"affected":"= 17.11.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.11.2"],"affected":"= 17.11.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.12.1"],"affected":"= 17.12.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.14.2"],"affected":"= 17.14.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.14.2"],"affected":"= 17.14.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.0.2"],"affected":"= 18.0.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.0.2"],"affected":"= 18.0.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.7.1"],"affected":"= 18.7.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.10.2"],"affected":"= 18.10.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.10.2"],"affected":"= 18.10.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["18.11.1"],"affected":"= 18.11.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.5.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.6.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.6.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.6.2","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.6.3","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.7.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.7.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.7.2","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.9.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.10.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.13.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.3.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.4.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.5.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.5.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.6.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.8.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.8.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 18.9.0","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.0-preview-20220707-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.0-preview-20220726-02","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.0-preview-20221003-03","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.4.0-release-20220926-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.5.0-preview-20221003-04","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.5.0-preview-20221221-03","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.6.0-preview-20230223-05","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.7.0-preview-23364-03","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.7.0-preview.23280.1","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.8.0-preview-23371-04","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.8.0-preview-23424-02","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.8.0-release-23468-02","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.9.0-preview-23503-02","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.9.0-preview-23531-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.9.0-preview-23577-04","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.9.0-release-23619-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.10.0-preview-24080-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.10.0-release-24177-07","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.11.0-release-24352-06","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.11.0-release-24373-02","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":[],"affected":"= 17.14.0-preview-25107-01","ecosystem":"nuget"},{"name":"Microsoft.TestPlatform.CLI","fixed":["17.3.4"],"affected":"= 17.3.0","ecosystem":"nuget"}],"ecosystems":["nuget"],"tags":["ci","cwe-284","dotnet","linux","macos","nuget","package","vstest","windows"],"not_affected_if":["ephemeral-ci-runner","patched-servicing-line","single-user-machine"],"how_to_check":"- Run `dotnet --list-sdks` to list installed SDKs and `dotnet --version` in the project directory to see which SDK is selected, including any `global.json` pin.\n- Check the resolved version of Microsoft.TestPlatform.CLI in your project or standalone VSTest installation and compare it with the affected ranges.\n- Compare the bundled VSTest version of your SDK against the fixed SDK list in the advisory.","fix":"- Microsoft.TestPlatform.CLI: move to the patched version for your servicing line, for example `17.3.4`, `17.8.1`, `17.11.2`, `17.12.1`, `17.14.2`, `18.0.2`, `18.7.1`, `18.10.2` or `18.11.1`.\n- .NET SDK 8.0.1xx: `8.0.134`; 8.0.4xx: `8.0.428`; 9.0.1xx: `9.0.124`; 9.0.3xx: `9.0.321`; 10.0.1xx: `10.0.115`; 10.0.4xx: `10.0.404`; 11.0.1xx: `11.0.100`.\n- Updating a separately installed CLI package does not replace the VSTest bundled in an older SDK.","status":"open","published_at":"2026-11-11T00:39:12+00:00","first_seen_at":"2026-11-11T00:40:12+00:00","triaged_at":"2026-11-11T00:42:08+00:00","updated_at":"2026-11-11T00:42:08+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-11T00:42:08Z","model":"claude-haiku-5-5","output":{"fix":"- Microsoft.TestPlatform.CLI: move to the patched version for your servicing line, for example `17.3.4`, `17.8.1`, `17.11.2`, `17.12.1`, `17.14.2`, `18.0.2`, `18.7.1`, `18.10.2` or `18.11.1`.\n- .NET SDK 8.0.1xx: `8.0.134`; 8.0.4xx: `8.0.428`; 9.0.1xx: `9.0.124`; 9.0.3xx: `9.0.321`; 10.0.1xx: `10.0.115`; 10.0.4xx: `10.0.404`; 11.0.1xx: `11.0.100`.\n- Updating a separately installed CLI package does not replace the VSTest bundled in an older SDK.","reach":"local","title":"Microsoft.TestPlatform.CLI: forged test-result file lets a local user escalate privileges","impact":"high","summary":"The VSTest artifact postprocessor in Microsoft.TestPlatform.CLI trusts an executionComplete.json file that another local user can forge, and then runs attacker-controlled output handling. A local user on the same machine can therefore gain privileges.","audience":"developers","category":"package","nicknames":[],"who_cares":["dotnet","nuget","vstest","ci","windows","linux","macos"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"local user gains elevated privileges on the machine","analyst_note":"","how_to_check":"- Run `dotnet --list-sdks` to list installed SDKs and `dotnet --version` in the project directory to see which SDK is selected, including any `global.json` pin.\n- Check the resolved version of Microsoft.TestPlatform.CLI in your project or standalone VSTest installation and compare it with the affected ranges.\n- Compare the bundled VSTest version of your SDK against the fixed SDK list in the advisory.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["single-user-machine","ephemeral-ci-runner","patched-servicing-line"],"who_is_affected":"Machines where Microsoft.TestPlatform.CLI or an affected .NET SDK runs tests, including Windows, Linux and macOS build agents and developer machines. The risk requires another local user on the same machine to plant a forged file, so single-user machines and ephemeral CI runners with one tenant are lower risk. Teams that run only on a current patched servicing line can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.001511,"input_tokens":10620,"output_tokens":897,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-01':274C,307C '-105544':6A '-20220301':273C,306C '-2026':5A '-284':85B,213C '-6856':13A,19A '-87':14A,20A '/av':199C '/dotnet/announcements/issues/517':185C '/packages/microsoft.testplatform.cli)':303C,313C,319C,325C,331C,337C,343C,349C,355C,361C,367C,373C,379C,385C,391C,397C,403C,430C,442C,454C,466C '17.11.0':344C '17.11.1':350C '17.11.2':345C,351C '17.12.0':356C '17.12.1':357C '17.14.0':362C '17.14.1':368C '17.14.2':363C,369C '17.2.0':271C,280C,304C '17.3.0':308C,314C '17.3.1':320C '17.3.2':326C '17.3.3':332C '17.3.4':309C,315C,321C,327C,333C '17.4.0':431C '17.4.1':443C '17.5.0':455C '17.6.0':467C '17.8.0':338C '17.8.1':339C '18.0.0':374C '18.0.1':380C '18.0.2':375C,381C '18.10.0':392C '18.10.1':398C,407C '18.10.2':393C,399C,412C '18.11.0':404C '18.11.1':405C '18.7.0':386C '18.7.1':387C '3.1':189C,198C '7.5':193C 'advisori':3A,135C,145C 'affect':150C,214C,222C,227C,268C,296C,409C,418C,423C 'also':239C 'announc':174C,175C 'anoth':104B,164C 'applic':151C 'architectur':220C 'artifact':95B,156C 'attack':113B,170C 'attacker-control':112B,169C 'base':194C 'bundl':240C,263C 'c':210C 'c/c':204C 'ci':83B 'cli':237C,255C 'compat':289C,434C,446C,458C,470C 'compon':153C 'consum':159C 'control':114B,171C 'cve':4A 'cvss':186C,197C 'cwe':84B,212C 'detail':187C 'dotnet':86B 'elev':8A 'execut':128C,168C 'executioncomplete.json':101B,162C 'file':102B 'first':277C 'forg':108B,161C 'found':181C 'gain':126B 'ghsa':12A,18A 'github.com':184C 'github.com/dotnet/announcements/issues/517':183C 'guidanc':147C 'h/a':206C 'h/e':207C 'h/i':205C 'h/pr':201C 'handl':116B,173C 'high':191C 'hx':16A,22A 'hx-p5x7':15A,21A 'includ':275C 'inform':138C 'instal':254C 'issu':178C 'l/ac':200C 'l/ui':202C 'line':291C,416C 'linux':87B,218C 'list':226C,248C,285C,437C,449C,461C 'local':105B,118B,165C 'machin':123B 'maco':88B,219C 'microsoft':1A,130C 'microsoft.testplatform.cli':24A,25A,26A,27A,28A,29A,30A,31A,32A,33A,34A,35A,36A,37A,38A,39A,40A,41A,42A,43A,44A,45A,46A,47A,48A,49A,50A,51A,52A,53A,54A,55A,56A,57A,58A,59A,60A,61A,62A,63A,64A,65A,66A,67A,68A,69A,70A,71A,72A,73A,74A,75A,76A,77A,78A,79A,80A,81A,82A,98B,230C,266C,300C,310C,316C,322C,328C,334C,340C,346C,352C,358C,364C,370C,376C,382C,388C,394C,400C,411C,427C,439C,451C,463C 'net':7A,143C,243C 'nuget':89B,293C,420C 'o/rc':209C 'output':115B,172C 'p5x7':17A,23A 'pa':471C 'packag':90B,223C,256C,294C,295C,422C 'patch':233C,283C,298C,425C,435C,447C,459C 'platform':215C,216C 'postprocessor':96B,157C 'preview':272C,305C 'privileg':10A,127B 'provid':137C,146C 'r/s':203C 'releas':132C,279C 'remain':408C 'replac':259C 'run':111B 'runner':265C 'score':192C,195C 'sdk':244C,245C,262C 'sdk-bundl':261C 'secur':2A,134C 'separ':249C,253C 'servic':290C,415C 'sever':190C 'stabl':278C,406C 'start':269C 'summari':129C 'tabl':225C 'test':264C 'therefor':125B 'trust':99B 'u/rl':208C 'updat':149C,251C 'use':281C,410C,432C,444C,456C,468C 'user':106B,119B,166C 'vector':196C 'version':188C,228C,234C,246C,284C,297C,299C,421C,424C,426C,436C,448C,460C 'vstest':91B,94B,155C,236C,292C,419C 'vulner':11A,141C 'weak':211C 'window':92B,217C 'www.nuget.org':302C,312C,318C,324C,330C,336C,342C,348C,354C,360C,366C,372C,378C,384C,390C,396C,402C,429C,441C,453C,465C 'www.nuget.org/packages/microsoft.testplatform.cli)':301C,311C,317C,323C,329C,335C,341C,347C,353C,359C,365C,371C,377C,383C,389C,395C,401C,428C,440C,452C,464C","nicknames":[],"mitigations":[],"who_affected":"Machines where Microsoft.TestPlatform.CLI or an affected .NET SDK runs tests, including Windows, Linux and macOS build agents and developer machines. The risk requires another local user on the same machine to plant a forged file, so single-user machines and ephemeral CI runners with one tenant are lower risk. Teams that run only on a current patched servicing line can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["microsofttestplatformcli"],"ptokens":["cli","microsoft","testplatform"],"labels":["ci","cwe284","dotnet","linux","macos","medium","nuget","package","vstest","windows"],"campaign_type":null,"search_a":"'-105544':6A '-2026':5A '-6856':13A,19A '-87':14A,20A 'advisori':3A 'cve':4A 'elev':8A 'ghsa':12A,18A 'hx':16A,22A 'hx-p5x7':15A,21A 'microsoft':1A 'microsoft.testplatform.cli':24A,25A,26A,27A,28A,29A,30A,31A,32A,33A,34A,35A,36A,37A,38A,39A,40A,41A,42A,43A,44A,45A,46A,47A,48A,49A,50A,51A,52A,53A,54A,55A,56A,57A,58A,59A,60A,61A,62A,63A,64A,65A,66A,67A,68A,69A,70A,71A,72A,73A,74A,75A,76A,77A,78A,79A,80A,81A,82A 'net':7A 'p5x7':17A,23A 'privileg':10A 'secur':2A 'vulner':11A","search_b":"'-284':85B 'anoth':104B 'artifact':95B 'attack':113B 'attacker-control':112B 'ci':83B 'control':114B 'cwe':84B 'dotnet':86B 'executioncomplete.json':101B 'file':102B 'forg':108B 'gain':126B 'handl':116B 'linux':87B 'local':105B,118B 'machin':123B 'maco':88B 'microsoft.testplatform.cli':98B 'nuget':89B 'output':115B 'packag':90B 'postprocessor':96B 'privileg':127B 'run':111B 'therefor':125B 'trust':99B 'user':106B,119B 'vstest':91B,94B 'window':92B","search_c":"'-01':274C,307C '-20220301':273C,306C '-284':213C '/av':199C '/dotnet/announcements/issues/517':185C '/packages/microsoft.testplatform.cli)':303C,313C,319C,325C,331C,337C,343C,349C,355C,361C,367C,373C,379C,385C,391C,397C,403C,430C,442C,454C,466C '17.11.0':344C '17.11.1':350C '17.11.2':345C,351C '17.12.0':356C '17.12.1':357C '17.14.0':362C '17.14.1':368C '17.14.2':363C,369C '17.2.0':271C,280C,304C '17.3.0':308C,314C '17.3.1':320C '17.3.2':326C '17.3.3':332C '17.3.4':309C,315C,321C,327C,333C '17.4.0':431C '17.4.1':443C '17.5.0':455C '17.6.0':467C '17.8.0':338C '17.8.1':339C '18.0.0':374C '18.0.1':380C '18.0.2':375C,381C '18.10.0':392C '18.10.1':398C,407C '18.10.2':393C,399C,412C '18.11.0':404C '18.11.1':405C '18.7.0':386C '18.7.1':387C '3.1':189C,198C '7.5':193C 'advisori':135C,145C 'affect':150C,214C,222C,227C,268C,296C,409C,418C,423C 'also':239C 'announc':174C,175C 'anoth':164C 'applic':151C 'architectur':220C 'artifact':156C 'attack':170C 'attacker-control':169C 'base':194C 'bundl':240C,263C 'c':210C 'c/c':204C 'cli':237C,255C 'compat':289C,434C,446C,458C,470C 'compon':153C 'consum':159C 'control':171C 'cvss':186C,197C 'cwe':212C 'detail':187C 'execut':128C,168C 'executioncomplete.json':162C 'first':277C 'forg':161C 'found':181C 'github.com':184C 'github.com/dotnet/announcements/issues/517':183C 'guidanc':147C 'h/a':206C 'h/e':207C 'h/i':205C 'h/pr':201C 'handl':173C 'high':191C 'includ':275C 'inform':138C 'instal':254C 'issu':178C 'l/ac':200C 'l/ui':202C 'line':291C,416C 'linux':218C 'list':226C,248C,285C,437C,449C,461C 'local':165C 'maco':219C 'microsoft':130C 'microsoft.testplatform.cli':230C,266C,300C,310C,316C,322C,328C,334C,340C,346C,352C,358C,364C,370C,376C,382C,388C,394C,400C,411C,427C,439C,451C,463C 'net':143C,243C 'nuget':293C,420C 'o/rc':209C 'output':172C 'pa':471C 'packag':223C,256C,294C,295C,422C 'patch':233C,283C,298C,425C,435C,447C,459C 'platform':215C,216C 'postprocessor':157C 'preview':272C,305C 'provid':137C,146C 'r/s':203C 'releas':132C,279C 'remain':408C 'replac':259C 'runner':265C 'score':192C,195C 'sdk':244C,245C,262C 'sdk-bundl':261C 'secur':134C 'separ':249C,253C 'servic':290C,415C 'sever':190C 'stabl':278C,406C 'start':269C 'summari':129C 'tabl':225C 'test':264C 'u/rl':208C 'updat':149C,251C 'use':281C,410C,432C,444C,456C,468C 'user':166C 'vector':196C 'version':188C,228C,234C,246C,284C,297C,299C,421C,424C,426C,436C,448C,460C 'vstest':155C,236C,292C,419C 'vulner':141C 'weak':211C 'window':217C 'www.nuget.org':302C,312C,318C,324C,330C,336C,342C,348C,354C,360C,366C,372C,378C,384C,390C,396C,402C,429C,441C,453C,465C 'www.nuget.org/packages/microsoft.testplatform.cli)':301C,311C,317C,323C,329C,335C,341C,347C,353C,359C,365C,371C,377C,383C,389C,395C,401C,428C,440C,452C,464C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T00:39:12+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-6856-87hx-p5x7","url":"https://github.com/advisories/GHSA-6856-87hx-p5x7","severity":"medium","published_at":"2026-11-11T00:39:12+00:00","modified_at":"2026-11-11T00:39:15+00:00","first_seen_at":"2026-11-11T00:40:12+00:00","fetched_at":"2026-11-11T00:40:12+00:00","note":null}],"documents":[{"id":120916,"url":"https://api.github.com/repos/microsoft/vstest/security-advisories/GHSA-6856-87hx-p5x7","title":"Maintainer's advisory: api.github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: api.github.com"},{"id":120917,"url":"https://github.com/microsoft/vstest/security/advisories/GHSA-6856-87hx-p5x7","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}