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

时间:2018-09-05 09:20:07

标签: 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!不幸的是,没有人选择退出更新版本,因为它安装了适用于15.8.2的最新Visual Studio修补程序

1 个答案:

答案 0 :(得分:3)

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

您的NuGet软件包包含的文件名称可能会导致它在错误的位置被提取,或者NuGet客户端确定该文件的方式存在错误。如果是后者,则可能需要file a bug进行修复。