POJIA破甲
地图 / ReDoS in Psych

ReDoS in Psych

拒绝服务 / Unlabeled / #1487889

厂商
Ruby
严重程度
未评级
赏金
—
弱点
Unlabeled
研究员
@ooooooo_q
披露日期
2025-07-08
资产
https://github.com/ruby/ruby
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(2476 字符中的一小部分)
Hello, I found a pattern that occur ReDoS in `Psych.load`.
原文中的代码
    def parse_time string
      klass = class_loader.load 'Time'

      date, time = *(string.split(/[ tT]/, 2))
      (yy, m, dd) = date.match(/^(-?\d{4})-(\d{1,2})-(\d{1,2})/).captures.map { |x| x.to_i }
      md = time.match(/(\d+:\d+:\d+)(?:\.(\d*))?\s*(Z|[-+]\d+(:\d\d)?)?/)

      (hh, mm, ss) …

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

时间线

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

同类报告

Circular based introspetion Query leading to single request denial of service and cost consumption and query cost on api.sorare.com/graphqlSorare · 2024-10-17ReDoS Vulnerability in HTTP Accept Headers ParsingInternet Bug Bounty · 2024-10-30 · $2,642ReDoS in IPAddrRuby · 2025-07-08Unbounded decompression chain in HTTP responses on Node.js Fetch API via Content-Encoding leads to resource exhaustionNode.js · 2026-02-23ASGIRequest header concatenation quadratic CPU DoS on Django via repeated headers leads to worker exhaustionDjango · 2026-02-09URI parser's RFC3986 regular expression has poor performance when there are two # characters, leading to ReDoSRuby · 2023-12-13