我一直在收到GitHub在我的Gemfile.lock中发现已知依赖漏洞的消息,这是丝瓜(2.0.3)和Nokogiri(1.7.0.1),但这些宝石是我没有特别要求的依赖(其他宝石做的)在我的Gemfile中依赖于它们,那么,我该怎么办?
答案 0 :(得分:6)
在position: absolute
中,您可以看到哪些依赖项会在这些库中引入,以及它们的版本约束是什么。
Gemfile.lock
使用Rails时,rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
需要loofah
,版本必须大于rails-html-sanitizer
。如果某个版本被锁定,则2.0
会显示Gemfile.lock
。
由于未锁定,您可以使用= 2.0
安装不受安全漏洞影响的更新版本。或bundle update loofah
如果您想要更新所有宝石......
如果要锁定的版本,您必须检查声明该依赖项的gem是否具有更新其锁定依赖项的更新版本(例如更新bundle update
的新版rails-html-sanitizier
)。出现安全问题,这些更新通常会很快发生。然后,您会更新loofah
以获取rails-html-sanitizier
的新版本。
答案 1 :(得分:0)
您可以进入gemfile.lock并查看哪些库需要这些gem作为依赖项。然后,您可以继续更新替换或删除这些库,直到您不再有漏洞为止。