ghsa-h4j7-5rxr-p4wc
Vulnerability from github
Microsoft Security Advisory CVE-2025-26646: .NET Spoofing Vulnerability
Executive summary
Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 9.0.xxx and .NET 8.0.xxx SDK. This advisory also provides guidance on what developers can do to update their applications to address this vulnerability.
A vulnerability exists in .NET SDK or MSBuild applications where external control of file name or path allows an unauthorized attacked to perform spoofing over a network.
Announcement
Announcement for this issue can be found at https://github.com/dotnet/announcements/issues/356
Mitigation factors
Projects which do not utilize the DownloadFile build task are not susceptible to this vulnerability.
Affected software
- Any installation of .NET 9.0.105 SDK, .NET 9.0.203 SDK or earlier.
- Any installation of .NET 8.0.115 SDK, .NET 8.0.311 or .NET 8.0.312 SDK, .NET 8.0.408 or .NET 8.0.409 SDK or earlier.
Affected Packages
The vulnerability affects any Microsoft .NET Core project if it uses any of affected packages versions listed below
Package name | Affected version | Patched version
------------ | ---------------- | -------------------------
Microsoft.Build.Tasks.Core |>= 15.8.166, <=15.9.20
>=16.0.461, <= 16.11.0
>= 17.0.0, <= 17.8.3
>= 17.9.5, <= 17.10.4
17.11.4
17.12.6
17.13.9 | 15.9.30
16.11.6
17.8.29
17.10.29
17.12.36
17.13.26
17.14.8
Advisory FAQ
How do I know if I am affected?
If you have a .NET SDK with a version listed, or an affected package listed in affected software or affected packages, you're exposed to the vulnerability.
How do I fix the issue?
- To fix the issue please install the latest version of .NET 9.0 SDK or .NET 8.0 SDK. If you have installed one or more .NET SDKs through Visual Studio, Visual Studio will prompt you to update Visual Studio, which will also update your .NET SDKs.
-
If your application references the vulnerable package, update the package reference to the patched version.
-
You can list the versions you have installed by running the
dotnet --info
command. You will see output like the following;
``` .NET SDK: Version: 9.0.100 Commit: 59db016f11 Workload version: 9.0.100-manifests.3068a692 MSBuild version: 17.12.7+5b8665660
Runtime Environment: OS Name: Mac OS X OS Version: 15.2 OS Platform: Darwin RID: osx-arm64 Base Path: /usr/local/share/dotnet/sdk/9.0.100/
.NET workloads installed: There are no installed workloads to display. Configured to use loose manifests when installing new manifests.
Host: Version: 9.0.0 Architecture: arm64 Commit: 9d5a6a9aa4
.NET SDKs installed: 9.0.100 [/usr/local/share/dotnet/sdk]
.NET runtimes installed: Microsoft.AspNetCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found: x64 [/usr/local/share/dotnet] registered at [/etc/dotnet/install_location_x64]
Environment variables: Not set
global.json file: Not found
Learn more: https://aka.ms/dotnet/info
Download .NET: https://aka.ms/dotnet/download ```
-
If you're using .NET 9.0, you should download and install the appropriate SDK:
.NET 9.0.300
for Visual Studio 2022 v17.14,.NET 9.0.204
for v17.13, or.NET 9.0.106
for v17.12. Download from https://dotnet.microsoft.com/download/dotnet-core/9.0. -
If you're using .NET 8.0, you should download and install the appropriate SDK:
.NET 8.0.410
for Visual Studio 2022 v17.11,.NET 8.0.313
for v17.10, or.NET 8.0.116
for v17.8. Download from https://dotnet.microsoft.com/download/dotnet-core/8.0.
Once you have installed the updated SDK, restart your apps for the update to take effect.
Other Information
Reporting Security Issues
If you have found a potential security issue in .NET 8.0 or .NET 9.0, please email details to secure@microsoft.com. Reports may qualify for the Microsoft .NET Core & .NET 5 Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at https://aka.ms/corebounty.
Support
You can ask questions about this issue on GitHub in the .NET GitHub organization. The main repos are located at https://github.com/dotnet/aspnetcore. 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.
Disclaimer
The 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.
{ "affected": [ { "database_specific": { "last_known_affected_version_range": "\u003c= 15.9.20" }, "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "15.8.166" }, { "fixed": "15.9.30" } ], "type": "ECOSYSTEM" } ] }, { "database_specific": { "last_known_affected_version_range": "\u003c= 16.11.0" }, "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "16.0.461" }, { "fixed": "16.11.6" } ], "type": "ECOSYSTEM" } ] }, { "database_specific": { "last_known_affected_version_range": "\u003c= 17.8.3" }, "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "17.0.0" }, { "fixed": "17.8.29" } ], "type": "ECOSYSTEM" } ] }, { "database_specific": { "last_known_affected_version_range": "\u003c= 17.10.4" }, "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "17.9.5" }, { "fixed": "17.10.29" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "17.11.4" }, { "fixed": "17.12.36" } ], "type": "ECOSYSTEM" } ], "versions": [ "17.11.4" ] }, { "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "17.12.6" }, { "fixed": "17.13.26" } ], "type": "ECOSYSTEM" } ], "versions": [ "17.12.6" ] }, { "package": { "ecosystem": "NuGet", "name": "Microsoft.Build.Tasks.Core" }, "ranges": [ { "events": [ { "introduced": "17.13.9" }, { "fixed": "17.14.8" } ], "type": "ECOSYSTEM" } ], "versions": [ "17.13.9" ] } ], "aliases": [ "CVE-2025-26646" ], "database_specific": { "cwe_ids": [ "CWE-73" ], "github_reviewed": true, "github_reviewed_at": "2025-05-13T21:38:50Z", "nvd_published_at": "2025-05-13T22:15:20Z", "severity": "HIGH" }, "details": "# Microsoft Security Advisory CVE-2025-26646: .NET Spoofing Vulnerability\n\n## \u003ca name=\"executive-summary\"\u003e\u003c/a\u003eExecutive summary\n\nMicrosoft is releasing this security advisory to provide information about a vulnerability in .NET 9.0.xxx and .NET 8.0.xxx SDK. This advisory also provides guidance on what developers can do to update their applications to address this vulnerability.\n\nA vulnerability exists in .NET SDK or MSBuild applications where external control of file name or path allows an unauthorized attacked to perform spoofing over a network.\n\n## Announcement\n\nAnnouncement for this issue can be found at https://github.com/dotnet/announcements/issues/356\n\n### \u003ca name=\"mitigation-factors\"\u003e\u003c/a\u003eMitigation factors\n\nProjects which do not utilize the [DownloadFile](https://learn.microsoft.com/visualstudio/msbuild/downloadfile-task) build task are not susceptible to this vulnerability.\n\n## \u003ca name=\"affected-software\"\u003e\u003c/a\u003eAffected software\n\n* Any installation of .NET 9.0.105 SDK, .NET 9.0.203 SDK or earlier.\n* Any installation of .NET 8.0.115 SDK, .NET 8.0.311 or .NET 8.0.312 SDK, .NET 8.0.408 or .NET 8.0.409 SDK or earlier.\n\n## \u003ca name=\"affected-packages\"\u003e\u003c/a\u003eAffected Packages\nThe vulnerability affects any Microsoft .NET Core project if it uses any of affected packages versions listed below\n\nPackage name | Affected version | Patched version\n------------ | ---------------- | -------------------------\n[Microsoft.Build.Tasks.Core](https://www.nuget.org/packages/Microsoft.Build.Tasks.Core) |\u003e= 15.8.166, \u003c=15.9.20\u003cbr /\u003e\u003e=16.0.461, \u003c= 16.11.0\u003cbr /\u003e\u003e= 17.0.0, \u003c= 17.8.3\u003cbr/\u003e\u003e= 17.9.5, \u003c= 17.10.4\u003cbr /\u003e17.11.4\u003cbr /\u003e17.12.6 \u003cbr /\u003e17.13.9 | 15.9.30\u003cbr /\u003e16.11.6\u003cbr /\u003e17.8.29\u003cbr/\u003e17.10.29\u003cbr /\u003e17.12.36\u003cbr /\u003e17.13.26 \u003cbr /\u003e17.14.8\n\n## Advisory FAQ\n\n### \u003ca name=\"how-affected\"\u003e\u003c/a\u003eHow do I know if I am affected?\n\nIf you have a .NET SDK with a version listed, or an affected package listed in [affected software](#affected-packages) or [affected packages](#affected-software), you\u0027re exposed to the vulnerability.\n\n### \u003ca name=\"how-fix\"\u003e\u003c/a\u003eHow do I fix the issue?\n\n1. To fix the issue please install the latest version of .NET 9.0 SDK or .NET 8.0 SDK. If you have installed one or more .NET SDKs through Visual Studio, Visual Studio will prompt you to update Visual Studio, which will also update your .NET SDKs.\n2. If your application references the vulnerable package, update the package reference to the patched version.\n\n* You can list the versions you have installed by running the `dotnet --info` command. You will see output like the following;\n\n```\n.NET SDK:\n Version: 9.0.100\n Commit: 59db016f11\n Workload version: 9.0.100-manifests.3068a692\n MSBuild version: 17.12.7+5b8665660\n\nRuntime Environment:\n OS Name: Mac OS X\n OS Version: 15.2\n OS Platform: Darwin\n RID: osx-arm64\n Base Path: /usr/local/share/dotnet/sdk/9.0.100/\n\n.NET workloads installed:\nThere are no installed workloads to display.\nConfigured to use loose manifests when installing new manifests.\n\nHost:\n Version: 9.0.0\n Architecture: arm64\n Commit: 9d5a6a9aa4\n\n.NET SDKs installed:\n 9.0.100 [/usr/local/share/dotnet/sdk]\n\n.NET runtimes installed:\n Microsoft.AspNetCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]\n Microsoft.NETCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]\n\nOther architectures found:\n x64 [/usr/local/share/dotnet]\n registered at [/etc/dotnet/install_location_x64]\n\nEnvironment variables:\n Not set\n\nglobal.json file:\n Not found\n\nLearn more:\n https://aka.ms/dotnet/info\n\nDownload .NET:\n https://aka.ms/dotnet/download\n```\n\n* If you\u0027re using .NET 9.0, you should download and install the appropriate SDK: `.NET 9.0.300` for Visual Studio 2022 v17.14, `.NET 9.0.204` for v17.13, or `.NET 9.0.106` for v17.12. Download from https://dotnet.microsoft.com/download/dotnet-core/9.0.\n\n* If you\u0027re using .NET 8.0, you should download and install the appropriate SDK: `.NET 8.0.410` for Visual Studio 2022 v17.11, `.NET 8.0.313` for v17.10, or `.NET 8.0.116` for v17.8. Download from https://dotnet.microsoft.com/download/dotnet-core/8.0.\n\nOnce you have installed the updated SDK, restart your apps for the update to take effect.\n\n## Other Information\n\n### Reporting Security Issues\n\nIf you have found a potential security issue in .NET 8.0 or .NET 9.0, please email details to secure@microsoft.com. Reports may qualify for the Microsoft .NET Core \u0026 .NET 5 Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at \u003chttps://aka.ms/corebounty\u003e.\n\n### Support\n\nYou can ask questions about this issue on GitHub in the .NET GitHub organization. The main repos are located at https://github.com/dotnet/aspnetcore. 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.", "id": "GHSA-h4j7-5rxr-p4wc", "modified": "2025-06-16T13:54:46Z", "published": "2025-05-13T21:38:50Z", "references": [ { "type": "WEB", "url": "https://github.com/dotnet/msbuild/security/advisories/GHSA-h4j7-5rxr-p4wc" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26646" }, { "type": "WEB", "url": "https://github.com/dotnet/announcements/issues/356" }, { "type": "WEB", "url": "https://github.com/dotnet/msbuild/issues/11846" }, { "type": "PACKAGE", "url": "https://github.com/dotnet/msbuild" }, { "type": "WEB", "url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-26646" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "type": "CVSS_V3" } ], "summary": "Microsoft.Build.Tasks.Core .NET Spoofing Vulnerability" }
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.