POJIA破甲
地图 / RCE which may occur due to `ActiveSupport::MessageVerifier` or `ActiveSupport::MessageEncryptor` (especially Active storage)

RCE which may occur due to `ActiveSupport::MessageVerifier` or `ActiveSupport::MessageEncryptor` (especially Active storage)

代码执行 / 命令注入(通用) / #473888

厂商
Ruby on Rails
严重程度
中危
赏金
$1,500
弱点
命令注入(通用)
研究员
@ooooooo_q
披露日期
2019-03-13
资产
https://github.com/rails/rails
CVE
CVE-2019-5420

该报告还没有中文解读。

原文摘录

摘自原文(7319 字符中的一小部分)
Since `ActiveSupport::MessageVerifier` and `ActiveSupport::MessageEncryptor` use Marshal as the default serializer, I confirmed that RCE is possible by object injection.
原文中的代码
# https://github.com/rails/rails/blob/v5.2.2/activesupport/lib/active_support/message_verifier.rb#L110
    def initialize(secret, options = {})
      raise ArgumentError, "Secret should not be nil." unless secret
      @secret = secret
      @digest = options[:digest] || "SHA1"
      @serializer = …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Ruby on Rails 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @ooooooo_q · 版权归作者与 Ruby on Rails 所有

同类报告

H1514 Remote Code Execution on kitcrm using bulk customer update of Priority ProductsShopify · 2020-02-06Remote Code Execution on www.semrush.com/my_reports on Logo uploadSemrush · 2019-06-24Git flag injection - local file overwrite to remote code executionGitLab · 2019-12-19 · $12,000Privilege Escalation From user to SYSTEM via unauthenticated command executionUbiquiti Inc. · 2019-11-08BAD Code !Paragon Initiative Enterprises · 2016-11-04Local files could be overwritten in GitLab, leading to remote command executionGitLab · 2019-07-17 · $12,000