2019 年 9 月 16 日在 Gemfile.lock 中发现了 1 个 Jekyll 漏洞

1 jekyll vulnerability found in Gemfile.lock on Sep 16, 2019

我在 github 页面分支中收到此消息: “2019 年 9 月 16 日在 Gemfile.lock 中发现 1 个 jekyll 漏洞”。将 jekyll 升级到版本 3.6.3 或更高版本。例如: gem "jekyll", ">= 3.6.3" 之前也有太多问题,一个是 nokogiri,我通过更新到 gem 的最新版本解决了这个问题,然后提交并推送。 我已经将 Jekyll 更新到 4.0 版,然后提交并推送了整个站点,但错误并没有消失。 有什么建议么? 我应该特别推送任何文件吗? 谢谢

您的 Gemfile 未正确更新,它仍然提到 gem "jekyll", "~> 3.2.1",您的 Gemfile.lock[=24= 中也引用了它].

不过,如果您在 github 页面上发布,您唯一需要参考的 gem 是 github-pages.

您的 Gemfile 内容:

source 'https://rubygems.org'
gem 'github-pages'

然后您可以执行 bundle update 并将您的代码推送到 github,所有安全警告都会消失。

您的 Gemfile 已锁定到 jekyll-3.2.x

无论您 运行 bundle update 多少次,您的锁定文件都不会使用 Jekyll 3.3 及更高版本。
要允许升级到 v3.3.0 及更高版本而不是 v4.0.0,gem 列表需要:

gem "jekyll", "~> 3.2"

了解以下内容:

  • gem "jekyll", "~> 3.2.1" 等同于 gem "jekyll", ">= 3.2.1", "< 3.3.0"
  • gem "jekyll", "~> 3.2" 等同于 gem "jekyll", ">= 3.2.0", "< 4.0.0"


上面说了,这里正确的走法是David Jacquel在他的中说的。让我总结一下他的意思:

  • 更新您的 Gemfile 以仅列出 github-pages gem — gem 也包含所需的插件。
  • 提交更新 GemfileGemfile.lock
  • 将分支推送到远程存储库。