为什么下载Nuget软件包会出现错误“软件包包含不安全提取的条目”,为什么?

Sch*_*zer 6 c# visual-studio nuget

我们正在运行一个私有的nuget存储库。我们的构建服务器从我们的几个框架项目中创建nuget包,并将这些包复制到存储库中。从今天开始,当我们尝试还原某些软件包时,我们收到了来自nuget的奇怪错误。

The package '[package name here]' contains an entry which is unsafe for extraction.

不幸的是,我在Google找不到任何能够帮助我的东西。

我的问题是:在nuget软件包中,什么被认为是不安全的提取?是否有条目列表,但不能包含在软件包中?

当前版本的软件包看起来像以前版本的软件包,仍然可以通过nuget管理器进行检索。还是最新的Visual Studio补丁15.8.2附带了这些内容?

** *更新* **同时,我们发现问题出现在软件包管理器中4.8.0.5385。在版本中,4.7.*一切都按预期工作。在nuget.org上,最新推荐的nuget.exe版本是4.7.1!不幸的是,没有人选择退出更新版本,因为它安装了最新的Visual Studio Patch for 15.8.2。

vcs*_*nes 5

根据NuGet源代码,看起来这种情况是为了防止ZIP遍历攻击(有时称为“ zip-slip”)

NuGet软件包包含的文件名可能导致将其提取到错误的位置,或者NuGet客户端确定该文件的方式存在错误。如果是后者,则可能需要提交错误才能修复。