POJIA破甲
地图 / Delete directory using symlink when decompressing tar

Delete directory using symlink when decompressing tar

路径遍历 / 路径遍历 / #317321

厂商
RubyGems
严重程度
低危 · CVSS 5.4
赏金
$500
弱点
路径遍历
研究员
@ooooooo_q
披露日期
2019-04-11
资产
https://github.com/rubygems/rubygems
CVE
CVE-2019-8320

该报告还没有中文解读。

原文摘录

摘自原文(2704 字符中的一小部分)
In 2.7.6, the safety of symlink is confirmed with `mkdir_p_safe`, Before that `FileUtils.rm_rf destination` is running. Therefore, if `tmp/dir` is specified after `tmp -> /tmp`, the following `/tmp/dir` is deleted.
原文中的代码
require 'rubygems/package'

class GemBuiler

   def initialize spec, path
    @_build_time      = Time.now
    @_checksums       = {}
    @_signer          = Gem::Security::Signer.new nil, nil, ""
    @_spec            = spec
    @_path            = path
  end

  def build &block
    Gem.load_yaml …

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

时间线

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

同类报告

Arbitrary file read via the UploadsRewriter when moving and issueGitLab · 2020-04-27 · $20,000Arbitrary file read via the bulk imports UploadsPipelineGitLab · 2022-03-21 · $29,000Misuse of an authentication cookie combined with a path traversal on app.starbucks.com permitted access to restricted dataStarbucks · 2020-06-16Arbitrary file read during project importGitLab · 2021-05-24 · $16,000Burp Suite Professional: browser-powered crawl can write attacker-controlled files through file input handlingPortSwigger Web Security · 2026-06-14 · $5,000Path traversal in filename in LINE Mac clientLY Corporation · 2020-07-31