漏洞详情
CVE编号: CVE-2025-61921 GHSA编号: GHSA-mr3q-g2mv-mr4q 受影响版本: Sinatra < 4.2.0 已修复版本: Sinatra 4.2.0 严重性: 低 (CVSS v4.0 评分为2.7)
漏洞描述
摘要
Sinatra框架的If-Match和If-None-Match请求头解析组件存在拒绝服务漏洞,当使用etag方法构建响应且运行在Ruby 3.2以下版本时,该漏洞可能被利用。
详细信息
精心构造的输入可能导致Sinatra框架在处理If-Match和If-None-Match请求头时消耗超乎预期的时间,这可能构成一个拒绝服务攻击向量。这些请求头通常用于生成ETag响应头的值。任何在生成响应时使用了etag方法,并且运行在低于3.2版本的Ruby环境下的应用程序都会受到影响。
该漏洞本质上是一个正则表达式拒绝服务攻击,与低效的正则表达式复杂性有关。
资源与参考
-
报告链接: sinatra/sinatra#2120
-
修复链接: sinatra/sinatra#2121
-
相关历史漏洞: sinatra/sinatra#1823 (较早的ReDoS漏洞)
-
Ruby安全咨询数据库条目: https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2025-61921.yml
安全弱点归类
- CWE-400: 不受控制的资源消耗 - 产品未能妥善控制有限资源的分配和维护。
- CWE-1333: 低效的正则表达式复杂性 - 产品使用了具有低效(可能是指数级最坏情况计算复杂度)的正则表达式,消耗了过多的CPU周期。
时间线
- 2025年10月10日: 漏洞报告者
dentarg向sinatra/sinatra仓库提交报告。 - 2025年10月10日: 漏洞发布于国家漏洞数据库和GitHub安全通告数据库,并经过审核。
- 2025年10月13日: 安全通告最后更新。
漏洞评分详情 (CVSS v4.0)
基础向量: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 受影响系统影响:
- 机密性:无影响
- 完整性:无影响
- 可用性:低影响
- 环境指标: 可利用性不确定性
EPSS评分: 0.108% (30百分位),此评分估计该漏洞在未来30天内被利用的概率。