当前位置: 首页 > news >正文

新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击

安全研究人员发现了一种针对 HTTP/2 实现的新型拒绝服务 (DoS) 技术,称为“MadeYouReset”(CVE-2025-8671)。

此次攻击会导致服务器重置自身连接并过度消耗资源,有可能通过分布式拒绝服务 (DDoS) 活动严重破坏未修补的系统。

该漏洞由特拉维夫大学的 Gal Bar Nahum、Anat Bremler-Barr 教授和 Yaniv Harel 博士与 Imperva 的研究人员合作发现。该漏洞由CERT 协调中心披露,其机制揭示了 2023 年“快速重置”漏洞 (CVE-2023-44487) 的微妙但危险的演变。快速重置依赖于客户端明确发送 RST_STREAM 帧,而 MadeYouReset 则利用格式错误但符合协议的帧来诱使服务器自行发出重置指令。

欺骗性的合规漏洞

该漏洞的核心在于 HTTP/2 规范与实际服务器行为不匹配。HTTP/2 允许客户端和服务器随时取消流。实际上,许多实现即使在流重置后仍会继续处理请求,从而导致资源泄漏。MadeYouReset 利用了这一点,通过发送巧妙违反协议的特制帧,促使服务器重置流,而不会释放后端处理资源。

此次攻击使用的关键技术包括:

  • Window-Overflow:发送超出允许的流控制窗口大小的 WINDOW_UPDATE 帧,从而触发重置。
  • 零增量更新:使用增量为 0 的 WINDOW_UPDATE 帧,服务器以 PROTOCOL_ERROR 和 RST_STREAM 进行响应。
  • 半关闭流滥用:在流半关闭后发送额外的 DATA 或 HEADERS 帧,强制服务器端重置。
  • 优先级长度不匹配:发送长度不正确的优先级帧,导致错误状态和重置。

MadeYouReset 攻击概述
 

这些行为会导致流看似对协议关闭,但在服务器后端仍然处于活动状态,从而使攻击者能够有效绕过 SETTINGS_MAX_CONCURRENT_STREAMS 限制。随着时间的推移,这会导致内存或 CPU 耗尽,最终导致服务降级或中断。

影响范围及缓解措施

该漏洞影响几种广泛使用的 HTTP/2 实现,包括 Apache Tomcat(单独跟踪为 CVE-2025-48989)、Netty、Jetty、IBM WebSphere、BIG-IP(F5)、gRPC、Mozilla、Eclipse Foundation、Fastly、Varnish、SUSE Linux、Zephyr Project 和 Wind River。

许多供应商已经发布或正在准备补丁。CERT/CC建议审查供应商的建议并立即应用相关更新。

由于在 2023 年 Rapid Reset 事件期间部署了现有缓解措施,Cloudflare 等一些主要基础设施提供商未受此次攻击影响。Cloudflare指出,由于已部署了主动速率限制和行为检测机制,其系统不易受到攻击。其开源 Pingora 框架依赖于基于 Rust 的 H2 库,在旧版本中可能会受到影响。建议用户更新至 H2 v0.4.11 或更高版本。

Imperva 强调,MadeYouReset 技术更难检测,因为它不依赖于明显的协议违规。相反,它发送格式良好的帧,触发符合规范的服务器端错误处理,使得攻击流量几乎与合法的 HTTP/2 活动难以区分。现有的客户端发送 RST_STREAM 帧的速率限制在这里无效,因为重置源自服务器本身,是为了响应协议边缘情况。

运行 HTTP/2 服务器的组织应应用软件供应商和 HTTP/2 库维护者提供的所有可用更新,在数据包解析期间尽早删除格式错误或不兼容的帧,并确保服务器端逻辑独立于协议级流状态处理后端请求。

http://www.dtcms.com/a/335584.html

相关文章:

  • 李宏毅NLP-11-语音合成
  • ReID/OSNet 算法模型量化转换实践
  • 【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
  • 【Docker】搭建一款功能强大且免费的开源在线绘图工具 - draw.io
  • 栈与队列:数据结构中的双生子
  • 【前端基础】19、CSS的flex布局
  • 火狐(Mozilla Firefox)浏览器离线安装包下载
  • 计算机网络 Cookie 和 Session 的区别详解
  • Windchill 11.0使用枚举类型自定义实用程序实现生命周期状态管理
  • 最小路径和
  • Java基础面试题(3)—Java(String字符串的存储方式,字面量)
  • docker常用命令详解
  • [GLM-4.5] LLM推理服务器(SGLang/vLLM) | 工具与推理解析器
  • 03高级语言逻辑结构到汇编语言之逻辑结构转换if (...) {...} else if {...} else {...}
  • java设计模式之迪米特法则使用场景分析
  • C++ 特殊类设计与单例模式解析
  • USB 2.0声卡
  • STL——set map
  • 机器学习--PCA降维
  • 功能强大!开源免费的视频翻译、音视频转录工具
  • LLM应用终极评估指南
  • 一键管理 StarRocks:简化集群的启动、停止与状态查看
  • 《解构WebSocket断网重连:指数退避算法的前端工业级实践指南》
  • 《PEFLL: Personalized Federated Learning by Learning to Learn》——论文阅读
  • 数据电台询价的询价要求
  • 论文阅读-Gated CRF Loss for Weakly Supervised Semantic Image Segmentation
  • 【前端面试题】JavaScript核心面试题解析
  • Linux安装及远程连接知识实践
  • 【*正确*题解|两种做法】 [JLOI2013] 洛谷 P3256 赛车[半平面交/单调栈]
  • OmniDrive论文速读