我们正在运行一个私有的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修补程序
答案 0 :(得分:3)
根据NuGet source code,看来这种情况是为了防止ZIP遍历攻击(有时称为“ zip-slip”)
您的NuGet软件包包含的文件名称可能会导致它在错误的位置被提取,或者NuGet客户端确定该文件的方式存在错误。如果是后者,则可能需要file a bug进行修复。