GHSA-G4VJ-CJJJ-V7HG
Vulnerability from github – Published: 2026-04-14 23:42 – Updated: 2026-04-14 23:42
VLAI?
Summary
Defense in Depth update for NuGet Client
Details
Impact
This update adds validation of the package ID and version during package download, in addition to the existing package signature validation.
Patches
NuGet
The following NuGet.exe, NuGet.CommandLine, NuGet.Packaging, and NuGet.Protocol versions have been patched:
| Affected versions | Patched version |
|---|---|
| >= 4.9.0, <= 4.9.6 | 4.9.7 |
| >= 5.11.0, <= 5.11.6 | 5.11.7 |
| >= 6.8.0, <= 6.8.1 | 6.8.2 |
| >= 6.11.0, <= 6.11.1 | 6.11.2 |
| >= 6.12.0, <= 6.12.4 | 6.12.5 |
| >= 6.14.0, <= 6.14.2 | 6.14.3 |
| >= 7.0.0, <= 7.0.2 | 7.0.3 |
| 7.3.0 | 7.3.1 |
.NET SDK
- .NET 8.0.126 SDK
- .NET 8.0.420 SDK
- .NET 9.0.116 SDK
- .NET 9.0.313 SDK
- .NET 10.0.106 SDK
- .NET 10.0.202 SDK
Workarounds
N/A
References
https://github.com/NuGet/NuGetGallery/security/advisories/GHSA-9r3h-v4hx-rhfr
Credit
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 4.9.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "4.9.0"
},
{
"fixed": "4.9.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 5.11.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.11.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.8.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "6.8.0"
},
{
"fixed": "6.8.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.11.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "6.11.0"
},
{
"fixed": "6.11.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.12.4"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "6.12.0"
},
{
"fixed": "6.12.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.14.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "6.14.0"
},
{
"fixed": "6.14.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 7.0.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "7.0.0"
},
{
"fixed": "7.0.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Packaging"
},
"ranges": [
{
"events": [
{
"introduced": "7.3.0"
},
{
"fixed": "7.3.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"7.3.0"
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 4.9.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "4.9.0"
},
{
"fixed": "4.9.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 5.11.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.11.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.8.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "6.8.0"
},
{
"fixed": "6.8.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.11.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "6.11.0"
},
{
"fixed": "6.11.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.12.4"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "6.12.0"
},
{
"fixed": "6.12.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.14.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "6.14.0"
},
{
"fixed": "6.14.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 7.0.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "7.0.0"
},
{
"fixed": "7.0.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "NuGet",
"name": "NuGet.Protocol"
},
"ranges": [
{
"events": [
{
"introduced": "7.3.0"
},
{
"fixed": "7.3.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"7.3.0"
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 4.9.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "4.9.0"
},
{
"fixed": "4.9.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 5.11.6"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.11.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.8.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "6.8.0"
},
{
"fixed": "6.8.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.11.1"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "6.11.0"
},
{
"fixed": "6.11.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.12.4"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "6.12.0"
},
{
"fixed": "6.12.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.14.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "6.14.0"
},
{
"fixed": "6.14.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 7.0.2"
},
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "7.0.0"
},
{
"fixed": "7.0.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "NuGet",
"name": "NuGet.CommandLine"
},
"ranges": [
{
"events": [
{
"introduced": "7.3.0"
},
{
"fixed": "7.3.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"7.3.0"
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-345"
],
"github_reviewed": true,
"github_reviewed_at": "2026-04-14T23:42:30Z",
"nvd_published_at": null,
"severity": "LOW"
},
"details": "### Impact\nThis update adds validation of the package ID and version during package download, in addition to the existing package signature validation.\n\n### Patches\n\n#### NuGet\n\nThe following NuGet.exe, NuGet.CommandLine, NuGet.Packaging, and NuGet.Protocol versions have been patched:\n\n|Affected versions|Patched version|\n|--|--|\n|\u003e= 4.9.0, \u003c= 4.9.6|4.9.7|\n|\u003e= 5.11.0, \u003c= 5.11.6|5.11.7|\n|\u003e= 6.8.0, \u003c= 6.8.1|6.8.2|\n|\u003e= 6.11.0, \u003c= 6.11.1|6.11.2|\n|\u003e= 6.12.0, \u003c= 6.12.4|6.12.5|\n|\u003e= 6.14.0, \u003c= 6.14.2|6.14.3|\n|\u003e= 7.0.0, \u003c= 7.0.2|7.0.3|\n|7.3.0|7.3.1|\n\n#### .NET SDK\n\n* .NET 8.0.126 SDK\n* .NET 8.0.420 SDK\n* .NET 9.0.116 SDK\n* .NET 9.0.313 SDK\n* .NET 10.0.106 SDK\n* .NET 10.0.202 SDK\n\n### Workarounds\nN/A\n\n### References\nhttps://github.com/NuGet/NuGetGallery/security/advisories/GHSA-9r3h-v4hx-rhfr\n\n### Credit\n[splitline](https://x.com/_splitline_) with [DEVCORE](https://devco.re/)",
"id": "GHSA-g4vj-cjjj-v7hg",
"modified": "2026-04-14T23:42:30Z",
"published": "2026-04-14T23:42:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/NuGet/NuGet.Client/security/advisories/GHSA-g4vj-cjjj-v7hg"
},
{
"type": "WEB",
"url": "https://github.com/NuGet/NuGetGallery/security/advisories/GHSA-9r3h-v4hx-rhfr"
},
{
"type": "PACKAGE",
"url": "https://github.com/NuGet/NuGet.Client"
}
],
"schema_version": "1.4.0",
"severity": [],
"summary": "Defense in Depth update for NuGet Client"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…