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

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

软件包“ [此处的软件包名称]”包含一个条目,该条目不安全提取.

不幸的是,我在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.

解决方法:

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

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

上一篇:SuperSocket


下一篇:C#-dotnet pack命令以及nuspec文件不包括项目的DLL