Potential leak of NuGet.org API key

Description

Description

Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 6.0 and .NET Core 3.1, NuGet (NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat version range from 3.5.0 to 6.2.0). This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability.

A vulnerability exists in .NET 6.0, .NET Core 3.1, and NuGet (NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat version range from 3.5.0 to 6.2.0) where a nuget.org api key could leak due to an incorrect comparison with a server url.

Affected software

NuGet & NuGet Packages

  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 6.2.0 version or earlier.
  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 6.0.1 version or earlier.
  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 5.11.1 version or earlier.
  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 5.9.1 version or earlier.
  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 5.7.1 version or earlier.
  • Any NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.CommandLine.XPlat 4.9.4 version or earlier.

.NET SDK(s)

  • Any .NET 6.0 application running on .NET 6.0.5 or earlier.
  • Any .NET 3.1 application running on .NET Core 3.1.25 or earlier.

Patches

  • If you're using NuGet.exe 6.2.0 or lower, you should download and install 6.2.1 from https://dist.nuget.org/win-x86-commandline/v6.2.1/nuget.exe.

  • If you're using NuGet.exe 6.0.1 or lower, you should download and install 6.0.2 from https://dist.nuget.org/win-x86-commandline/v6.0.2/nuget.exe.

  • If you're using NuGet.exe 5.11.1 or lower, you should download and install 5.11.2 from https://dist.nuget.org/win-x86-commandline/v5.11.2/nuget.exe.

  • If you're using NuGet.exe 5.9.1 or lower, you should download and install 5.9.2 from https://dist.nuget.org/win-x86-commandline/v5.9.2/nuget.exe.

  • If you're using NuGet.exe 5.7.1 or lower, you should download and install 5.7.2 from https://dist.nuget.org/win-x86-commandline/v4.7.2/nuget.exe.

  • If you're using NuGet.exe 4.9.4 or lower, you should download and install 4.9.5 from https://dist.nuget.org/win-x86-commandline/v4.9.5/nuget.exe.

  • If you're using .NET Core 6.0, you should download and install Runtime 6.0.6 or SDK 6.0.106 (for Visual Studio 2022 v17.0) or SDK 6.0.301 (for Visual Studio 2022 v17.2) from https://dotnet.microsoft.com/download/dotnet-core/6.0.

  • If you're using .NET Core 3.1, you should download and install Runtime 3.1.26 or SDK 3.1.420 (for Visual Studio 2019 v16.9 or Visual Studio 2011 16.11 or Visual Studio 2022 17.0 or Visual Studio 2022 17.1 ) from https://dotnet.microsoft.com/download/dotnet-core/3.1

.NET 6.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 https://github.com/NuGet/Announcements/issues/62

MSRC details for this can be found at https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2022-30184

Basic information

Type
reviewed
Severity
medium
Advisory on GitHub
Open advisory ↗
Repository advisory
Open repository advisory ↗
Source code
Browse source ↗
Published (advisory)
2022-06-14 21:57:52 UTC
Updated
2025-02-28 21:36:37 UTC
GitHub reviewed
2022-06-14 21:57:52 UTC
NVD published
2022-06-15

EPSS Score

Score Percentile
0.59% 68.81%

CVSS Scores

Base score Version Severity Vector
5.5 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:N)
Service keeps running; no real outage angle.

Identifiers

CWEs

CWE id Name
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor

Credits

  • JarLob (analyst)

Affected packages (21)

Vulnerable version ranges and first patched releases as published by GitHub.

Ecosystem Package Vulnerable range First patched Vulnerable functions
nuget NuGet.Commands >= 3.5.0, < 4.9.5 4.9.5
nuget NuGet.CommandLine >= 3.5.0, < 4.9.5 4.9.5
nuget NuGet.CommandLine.XPlat >= 3.5.0, < 4.9.5 4.9.5
nuget NuGet.Commands >= 5.0.0, < 5.2.1 5.2.1
nuget NuGet.Commands >= 5.3.0, < 5.7.2 5.7.2
nuget NuGet.Commands >= 5.8.0, < 5.9.2 5.9.2
nuget NuGet.Commands >= 5.10.0, < 5.11.2 5.11.2
nuget NuGet.Commands >= 6.0.0, < 6.0.2 6.0.2
nuget NuGet.Commands >= 6.1.0, < 6.2.1 6.2.1
nuget NuGet.CommandLine >= 5.0.0, < 5.2.1 5.2.1
nuget NuGet.CommandLine >= 5.3.0, < 5.7.2 5.7.2
nuget NuGet.CommandLine >= 5.8.0, < 5.9.2 5.9.2
nuget NuGet.CommandLine >= 5.10.0, < 5.11.2 5.11.2
nuget NuGet.CommandLine >= 6.0.0, < 6.0.2 6.0.2
nuget NuGet.CommandLine >= 6.1.0, < 6.2.1 6.2.1
nuget NuGet.CommandLine.XPlat >= 5.0.0, < 5.2.1 5.2.1
nuget NuGet.CommandLine.XPlat >= 5.3.0, < 5.7.2 5.7.2
nuget NuGet.CommandLine.XPlat >= 5.8.0, < 5.9.2 5.9.2
nuget NuGet.CommandLine.XPlat >= 5.10.0, < 5.11.2 5.11.2
nuget NuGet.CommandLine.XPlat >= 6.0.0, < 6.0.2 6.0.2
nuget NuGet.CommandLine.XPlat >= 6.1.0, < 6.2.1 6.2.1

References

cvelogic Threat Intelligence