VYPR
Moderate severityNVD Advisory· Published Mar 9, 2022· Updated Jul 8, 2025

.NET and Visual Studio Remote Code Execution Vulnerability

CVE-2022-24512

Description

.NET and Visual Studio Remote Code Execution Vulnerability

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A stack buffer overrun in .NET's Double.Parse routine allows remote code execution in affected .NET versions before the March 2022 patches.

Vulnerability

A remote code execution vulnerability exists in the .NET Double.Parse routine, where a stack buffer overrun occurs when processing specially crafted input [1][3]. The flaw affects .NET 6.0 versions 6.0.2 and lower, .NET 5.0 versions 5.0.14 and lower, and .NET Core 3.1 versions 3.1.22 and lower [1]. Applications using these .NET runtimes that parse double-precision floating-point numbers from untrusted sources are exposed.

Exploitation

An attacker must supply a malicious double-precision string to an application that uses the Double.Parse routine [1]. No authentication or user interaction beyond parsing the crafted input is required. The stack buffer overrun occurs during parsing, corrupting adjacent memory and potentially hijacking execution flow.

Impact

Successful exploitation allows an attacker to achieve remote code execution with the privilege level of the .NET process [1][3]. This can lead to full compromise of the affected application and the underlying system, including data disclosure, modification, or denial of service.

Mitigation

Microsoft released fixed versions on March 8, 2022: .NET Runtime 6.0.3 / SDK 6.0.103 or 6.0.201; .NET Runtime 5.0.15 / SDK 5.0.406 or 5.0.212; and .NET Core Runtime 3.1.23 / SDK 3.1.417 [3]. Updates are available via the .NET download page, Microsoft Update, or Visual Studio prompts. Fedora also published a fix for .NET Core 3.1 on Fedora 34 and 35 [4]. No workarounds exist; applying the patch is the only mitigation.

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
Microsoft.NETCore.App.Runtime.linux-armNuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.linux-arm64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.linux-musl-arm64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.linux-musl-x64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.linux-x64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.osx-x64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.win-armNuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.win-arm64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.win-x64NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.win-x86NuGet
>= 3.0.0, < 3.1.233.1.23
Microsoft.NETCore.App.Runtime.linux-armNuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.linux-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.linux-musl-armNuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.linux-musl-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.linux-musl-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.linux-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.linux-armNuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.linux-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.linux-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.Mono.osx-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.osx-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.win-armNuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.win-arm64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.win-x64NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.win-x86NuGet
>= 5.0.0, < 5.0.155.0.15
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasmNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasmNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasmNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-musl-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-musl-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-musl-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.linux-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.browser-wasmNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.linux-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.linux-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.linux-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.osx-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.osx-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvos-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.win-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.Mono.win-x86NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.osx-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.osx-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.win-armNuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.win-arm64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.win-x64NuGet
>= 6.0.0, < 6.0.36.0.3
Microsoft.NETCore.App.Runtime.win-x86NuGet
>= 6.0.0, < 6.0.36.0.3

Affected products

157

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

12

News mentions

0

No linked articles in our index yet.