.NET Core和.NET Framework之间的漏洞差异

5

1
你会为.NET Framework更新哪个NuGet包? - nvoigt
当我打开我的packages.config文件时,我看到很多System.*包,但是对于.NET Framework,像.NET Core那样的软件包版本从来没有漏洞? - ArDumez
如果你有一个完整的框架应用程序,并且通过NuGet使用了大量的System.*包,那么你(或者编写你使用的nuget包的人)做错了什么。 - nvoigt
1
那个软件包是“如果你使用这个和.NET完整框架,你就做错了”的典型例子。里面所有的东西都已经在完整的框架中可用。再次将其添加到您的项目中很可能是一个错误。 - nvoigt
1
不,这只是毫无意义的。你已经在完整的.NET框架中包含了自己所需要的东西。 - nvoigt
显示剩余2条评论
1个回答

4
完整的.NET框架本质上没有NuGet包。它是与操作系统一起安装的一个完整的框架块。您可以编写一个完全功能的程序而不需要任何包。因此,如果存在漏洞,则必须更新与操作系统一起安装的这个块。
.NET Core 本质上是一个巨大的 NuGet 包集合。它不是作为一个巨大的块来安装的。因此,您只能更新其中的几个包。没有任何随操作系统一起安装且可以更新的内容。

为什么微软不在可与完整.NET Framework一起使用的Nuget漏洞上进行沟通,并且它没有被操作系统更新更新... - ArDumez
2
你有例子吗?作为一般性的回答,我会说“因为微软假定你只拿你需要的东西,如果你拿了更多(例如,在完整的.NET Framework中使用.NET Standard包,尽管这些类已经存在于框架中),那就是你自己的责任。但我很乐意看一个具体的例子。” - nvoigt
我的第一个例子 https://www.cvedetails.com/cve/CVE-2018-8421/,是更新Windows而不是dll。这个漏洞与部署项目中嵌入的dll无关吗? - ArDumez
1
那应该是哪个dll?你为.NET项目构建了安装程序吗?里面有任何属于.NET Framework的dll吗?再次强调,.NET Framework是客户端操作系统的完整安装程序。它不需要您部署随应用程序一起的属于.NET Framework的dll。 - nvoigt
1
这个答案仅涵盖一般情况。然而,假设ASP.NET MVC(ASP.NET 4.x)存在安全问题,则会同时提供Windows更新和NuGet包更新。 - Lex Li
1
@ArDumez 这实际上取决于补丁所涉及的程序集,以及这些程序集如何到达最终部署机器。如果这些程序集在.NET安装文件夹/GAC中,Microsoft会发布Windows更新。如果它们是通过Microsoft NuGet包(例如ASP.NET MVC或ASP.NET Core)提供的,则Microsoft会发布NuGet包更新。 - Lex Li

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接