【问题标题】:Vulnerabilities found in "activejob" and "activestorage" gems. Method of update not working在“activejob”和“activestorage”gem 中发现的漏洞。更新方法无效
【发布时间】:2018-11-28 21:12:22
【问题描述】:

我有一个错误提示我有一个漏洞,我需要在我的 rails 应用程序中将 activejob 和 activestorage 更新为 >= 5.2.1.1

所以在我的Gemfile 我有

gem 'activejob', '<= 5.2.1.1'
gem 'activestorage', '<= 5.2.1.1'

然后我跑了

bundle update activejob
bundle update activestorage

我使用了&lt;=,因为我有一些依赖于旧版本的activejob 和activestorage。它不适用于5.2.1.1 版本。而且我无法更新这些 gem,因为它可能会导致我的应用程序此时中断。

当我运行bundle audit --update 时,它仍然说我有同样的漏洞,我应该升级。

运行bundle install 后,这就是我的Gemfile.lock 中的内容

GEM
  specs:
    activejob (5.2.0)
      activesupport (= 5.2.0)
      globalid (>= 0.3.6)
    activestorage (5.2.0)
      actionpack (= 5.2.0)
      activerecord (= 5.2.0)
      marcel (~> 0.3.1)

DEPENDENCIES
  activejob (<= 5.2.1.1)
  activestorage (<= 5.2.1.1)

我无法删除我的Gemfile.lock 并运行bundle install。我也无法运行bundle update,因为我有不想更新的宝石。它可以破坏应用程序。有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails rubygems rails-activejob rails-activestorage


    【解决方案1】:

    ActiveJob 和 ActiveSupport 取决于您的 rails 版本。

    如果您的 rails(或任何其他限制 AJ 和 AS 的 gem)版本(可能是 5.0)被锁定并限制 ActiveJob 和 ActiveStorage 的版本,那么它将覆盖您在您的这两个 gem 的 gemfile。

    我猜测您需要将 rails 更新到 5.1 并进行捆绑更新,但是如果没有看到完整的 gemfile/gemfile.lock 就很难说

    【讨论】:

    • 感谢您的回复。你是对的。解决方案是更新我试图不更新的rails,因为我担心它会破坏应用程序。它可能仍然会破坏它,但我只需要进去修理东西。 :)
    • 除了尝试之外别无他法(我不得不将 ransacker 从 1.8.8 升级到 2.x 以支持 Rails 5.1 - 如果你使用它)。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2017-03-02
    • 2011-01-16
    • 2018-08-31
    • 2015-07-11
    • 1970-01-01
    相关资源
    最近更新 更多