这是我的第一个问题,我希望我没有想出一些完全愚蠢的事情。
我是JS和Node.js的新手。我可以自己解决一些简单的问题,但是有了这个污染报告,我需要一些建议。
我收到以下报告:
Severity: high
Prototype Pollution - https://github.com/advisories/GHSA-339j-hqgx-qrrx
Depends on vulnerable versions of binary-search-tree
Depends on vulnerable versions of underscore
No fix available
node_modules/nedb
underscore 1.3.2 - 1.12.0
Severity: high
Arbitrary Code Execution in underscore - https://github.com/advisories/GHSA-cf4h-3jhx-xvhq
No fix available
node_modules/underscore
binary-search-tree *
Depends on vulnerable versions of underscore
node_modules/binary-search-tree```对于nedb,除了不使用它之外,似乎没有任何解决方案。对于下划线,有一个补丁版本(ver1.12.1),它似乎解决了这个问题。
然而:
因此,社区对一般使用nedb以及问题1和问题2提供了善意的建议。
也许重要的是要知道:我正在开发的应用程序只在本地运行。我正在使用快递作为服务器,我唯一的着装方式是通过本地主机:
发布于 2022-07-12 00:57:46
虽然你评论说你不再需要帮助,但你的一些问题仍然没有得到解决。为了大家的利益,我会回答他们。
我不知道nedb是否还在工作,我更新了依赖项下划线。
对此的简短回答是“很可能是肯定的”。所有1.x版本的下划线都应该向后兼容--与以前的1.x版本兼容。
诚实的事实是,过去发生了一些重大变化,其中大多数是暂时的。粗略地说,在1.x发行版系列中发生了三种类型的破坏更改:
然后,偶尔也会有库将它们的下划线依赖项固定在一个倾斜范围内,例如~1.9.2。在本例中,库将不会升级其依赖项以下划线1.10或更高版本,尽管它可能工作得很好。您可以通过在覆盖字段中使用package.json来处理这种情况。
也许重要的是要知道:我正在开发的应用程序只在本地运行。我正在使用快递作为服务器,我唯一的着装方式是通过本地主机。
虽然我不能评论nedb中的安全问题,但我是下划线1.12.1中的安全补丁的作者。
如果您只在localhost上运行应用程序,并且您是唯一能够访问该应用程序的人,那么可以忽略下划线<1.12.1中的安全问题,而不会有太大的风险。虽然它说的是“任意代码执行”,但仅仅运行受影响的下划线版本并不足以使人容易受到攻击。为了利用漏洞,还需要三种成分:
_.template,因为这是包含泄漏的函数。_.template中的泄漏,例如,将应用程序暴露给原型污染 (原型污染是我所知道的唯一可能解锁,但我不排除存在其他漏洞的可能性)。据我所知,下划线本身从来没有这样的漏洞。或者,您可能有一个恶意的第二个依赖项,它会主动利用下划线中的泄漏,但是即使没有任何泄漏,这种依赖项也可以执行任意代码。
https://stackoverflow.com/questions/72935255
复制相似问题