You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have been investigating the appearance of a few GHSA advisories when scanning the cgr.dev/chainguard/dotnet-sdk:7 image. This image contains the .NET 7.0.105 SDK, built and targeted for Wolfi, which is the latest released version.
Both of these GHSA vulnerabilities were addressed in 2019.
The 4.3.0 is interesting. Why is that happening? Syft reports that it picked up that errant System.Net.Http assembly from parsing /usr/share/dotnet/sdk/7.0.105/DotnetTools/dotnet-format/dotnet-format.deps.json. But what is the real version of System.Net.Http? For that, we can reach into Powershell. Yes, I know, forgive me:
PS /> $Assembly = [Reflection.Assembly]::LoadFile("/usr/share/dotnet/shared/Microsoft.NETCore.App/7.0.5/System.Net.Http.dll")
PS /> $Assembly.GetName().Version
Major Minor Build Revision
----- ----- ----- --------
7 0 0 0
As we can see, the version of System.Net.Http that is actually present is 7.0.0.0, not4.3.0. But what does the 4.3.0 mean? Well, it turns out that the versions in those JSON files are the compatibility versions, or in other words, "I need at least 4.3.0 of this assembly or later."
What you expected to happen:
Syft to report version 7.0.0.0 for the System.Net.Http assembly, not version 4.3.0.
Thanks @kaniini -- it looks like you might be right that we're using the nuget JSON files a bit incorrectly. We'll add this to the backlog to see how it can be improved 👍
What happened:
We have been investigating the appearance of a few GHSA advisories when scanning the
cgr.dev/chainguard/dotnet-sdk:7
image. This image contains the .NET 7.0.105 SDK, built and targeted for Wolfi, which is the latest released version.When scanning this image, we get:
Both of these GHSA vulnerabilities were addressed in 2019.
The
4.3.0
is interesting. Why is that happening? Syft reports that it picked up that errantSystem.Net.Http
assembly from parsing/usr/share/dotnet/sdk/7.0.105/DotnetTools/dotnet-format/dotnet-format.deps.json
. But what is the real version ofSystem.Net.Http
? For that, we can reach into Powershell. Yes, I know, forgive me:As we can see, the version of System.Net.Http that is actually present is
7.0.0.0
, not4.3.0
. But what does the4.3.0
mean? Well, it turns out that the versions in those JSON files are the compatibility versions, or in other words, "I need at least 4.3.0 of this assembly or later."What you expected to happen:
Syft to report version 7.0.0.0 for the System.Net.Http assembly, not version 4.3.0.
Steps to reproduce the issue:
Run syft on any image containing a .NET SDK.
Anything else we need to know?:
Not really.
Environment:
syft version
:cat /etc/os-release
or similar):The text was updated successfully, but these errors were encountered: