CVE-2022-24512
.NET Remote Code Execution Vulnerability
Impact
Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 6.0, .NET 5.0, and .NET Core 3.1. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. A Remote Code Execution vulnerability exists in .NET 6.0, .NET 5.0, and .NET Core 3.1 where a stack buffer overrun occurs in .NET Double Parse routine. ### Patches * Any .NET 6.0 application running on .NET 6.0.2 or lower * Any .NET 5.0 application running on .NET 5.0.14 or lower * Any .NET Core 3.1 application running on .NET Core 3.1.22 or lower To fix the issue, please install the latest version of .NET 6.0, .NET 5.0, or .NET Core 3.1. If you have installed one or more .NET Core SDKs through Visual Studio, Visual Studio will prompt you to update Visual Studio, which will also update your .NET Core SDKs. * If you're using .NET 6.0, you should download and install Runtime 6.0.3 or SDK 6.0.103 (for Visual Studio 2019 v17.0) or SDK 6.0.201 (for Visual Studio 2019 V17.1) from https://dotnet.microsoft.com/download/dotnet-core/5.0. * If you're using .NET 5.0, you should download and install Runtime 5.0.15 or SDK 5.0.406 (for Visual Studio 2019 v16.11) or SDK 5.0.212 (for Visual Studio 2019 V16.9) from https://dotnet.microsoft.com/download/dotnet-core/5.0. * If you're using .NET Core 3.1, you should download and install Runtime 3.1.23 or SDK 3.1.417 (for Visual Studio 2019 v16.7) from https://dotnet.microsoft.com/download/dotnet-core/3.1. .NET 6.0, .NET 5.0, and .NET Core 3.1 updates are also available from Microsoft Update. To access this either type "Check for updates" in your Windows search, or open Settings, choose Update & Security and then click Check for Updates. ### Other Details - Announcement for this issue can be found at dotnet/announcements#213 - An Issue for this can be found at https://github.com/dotnet/runtime/issues/66348 - MSRC details for this can be found at https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2022-24512
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| nuget | Microsoft.NETCore.App.Runtime.linux-arm | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.linux-arm64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.linux-musl-arm64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.linux-musl-x64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.linux-x64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.osx-x64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.win-arm | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.win-arm64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.win-x64 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.win-x86 | >= 3.0.0, < 3.1.23 | 3.1.23 |
| nuget | Microsoft.NETCore.App.Runtime.linux-musl-arm | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.linux-arm | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.linux-arm64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.linux-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.osx-x64 | >= 5.0.0, < 5.0.15 | 5.0.15 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.browser-wasm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.osx-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvos-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.win-x64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.Mono.win-x86 | >= 6.0.0, < 6.0.3 | 6.0.3 |
| nuget | Microsoft.NETCore.App.Runtime.osx-arm64 | >= 6.0.0, < 6.0.3 | 6.0.3 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Microsoft | .Net | Versions 5.0, 6.0.0 |
| Microsoft | .Net Core | Version 3.1 |
| Microsoft | Powershell | from 7.0 before 7.0.9 from 7.1 before 7.1.6 from 7.2 before 7.2.2 |
| Microsoft | Visual Studio 2019 | from 16.0 through 16.6.4 from 16.7.0 before 16.7.26 from 16.8.0 through 16.8.7 from 16.9.0 before 16.9.18 from 16.10.0 through 16.10.4 from 16.11.0 before 16.11.11 |
| Microsoft | Visual Studio 2022 | from 17.0 before 17.0.7 |
| Fedoraproject | Fedora | Versions 34, 35, 36 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-24512
- https://github.com/advisories/GHSA-c6w8-7mp3-34j9
- https://github.com/dotnet/runtime/security/advisories/GHSA-c6w8-7mp3-34j9
- https://nvd.nist.gov/vuln/detail/CVE-2022-24512
- https://github.com/dotnet/announcements/issues/213
- https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2022-24512
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4TOGTZ2ZWDH662ZNFFSZVL3M5AJXV6JF
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CIJGCVKLHVNLFBTEYJGWS43QG5DYJFBL
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQLM7ABVCYJLF6JRPF3M3EBXW63GNC27
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MRGSPXMZY4RM2L35FYHCXBFROLC23B2V
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OS2Q4NPRSARP7GHLKFLIYHFOPSYDO6MK
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZXEQ3GQVELA2T4HNZG7VPMS2HDVXMJRG