漏洞详情
包名 bundler sinatra (RubyGems)
受影响版本 < 4.2.0
已修复版本 4.2.0
描述
概要
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漏洞)
参考
-
GHSA-mr3q-g2mv-mr4q
-
sinatra/sinatra#2120
-
sinatra/sinatra#1823
-
sinatra/sinatra#2121
-
sinatra/sinatra@3fe8c38
-
sinatra/sinatra@8ff496b
-
https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2025-61921.yml
严重程度 低 (CVSS评分: 2.7)
CVSS v4 基础指标
- 攻击向量: 网络
- 攻击复杂度: 低
- 攻击要求: 无
- 所需权限: 无
- 用户交互: 无
- 脆弱系统影响 - 可用性: 低
- 后续系统影响: 无
漏洞弱点
- CWE-400: 不受控制的资源消耗
- 产品未能适当控制有限资源的分配和维护,从而使攻击者能够影响资源消耗量,最终导致可用资源耗尽。
- CWE-1333: 低效的正则表达式复杂度
- 产品使用了具有低效(可能是指数级最坏情况计算复杂度)的正则表达式,消耗了过多的CPU周期。