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

HTTP/2协议漏洞解析:通过HEADERS帧填充实现拒绝服务攻击

通过HTTP/2 HEADERS帧填充实现拒绝服务攻击

漏洞详情

使用swift-nio-http2的程序容易受到拒绝服务攻击,攻击者通过发送特制的HTTP/2帧实现。此攻击影响从1.0.0到1.19.2的所有swift-nio-http2版本,已在1.20.0及后续版本中修复。

漏洞成因

该漏洞由解析HTTP/2 HEADERS帧或HTTP/2 PUSH_PROMISE帧时的逻辑错误引起。当帧包含填充信息但没有任何其他数据时,此逻辑错误会导致帧大小计算混乱,进而引发解析错误。解析错误会立即导致整个进程崩溃。

攻击影响

  • 攻击权限:发送带有HTTP/2填充信息的HEADERS帧或PUSH_PROMISE帧不需要特殊权限,任何HTTP/2连接对等方都可以发送此类帧
  • 攻击范围:对于客户端,任何连接的服务器都可能发起此攻击;对于服务器,任何允许连接的客户端都可能发起此类攻击
  • 攻击成本:攻击成本极低,发送特制帧所需资源很少
  • 可用性影响:接收帧会立即导致服务器崩溃,丢弃所有进行中的连接,需要重启服务

风险分析

  • 机密性与完整性:漏洞本身不存在机密性或完整性风险,因为swift-nio-http2在内存安全代码中解析帧,崩溃是安全的
  • 潜在风险:突然的进程崩溃可能导致服务中的不变量违规,可能触发具有机密性或完整性风险的错误条件

缓解措施

如果能够阻止不受信任的对等方与服务通信,可以缓解此风险,但此缓解措施对许多服务不可用。

修复方案

通过重写解析代码来正确处理该条件已修复此问题。该问题由oss-fuzz的自动化模糊测试发现。

参考信息

  • GHSA-q36x-r5x4-h4q6
  • https://nvd.nist.gov/vuln/detail/CVE-2022-0618
  • apple/swift-nio-http2@ac2a5af

技术指标

CVSS v3.1评分: 7.5(高危)
攻击向量: 网络
攻击复杂度: 低
所需权限: 无
用户交互: 无
影响范围: 未改变
机密性影响: 无
完整性影响: 无
可用性影响: 高

受影响版本: >=1.0.0, <1.20
修复版本: 1.20.0及以上
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.jsqmd.com/news/56278/

相关文章:

  • 哪家过碳酸钠供应商产品质量好?欧盟标准过碳酸钠厂家:销量与质量双优品牌推荐
  • 成膜助剂生产厂家哪家好?高端成膜助剂直销厂家名录TOP榜单前十权威名单,技术领先企业汇总
  • 实用指南:JWT 全面解析与 Spring Boot 实战教程
  • 百度亮相 SREcon25:搜索稳定背后的秘密,微服务雪崩故障防范 - 指南
  • Attention is all you need论文学习
  • 从数据采集到智能诊断:阿尔泰科技实时高精度远距离管道状态监测全流程 - 教程
  • 2D3DICL-I2PReg论文学习
  • Spring使用el表达式
  • 《程序员修建之道:从小工到专家》阅读笔记2
  • 《程序员修建之道:从小工到专家》阅读笔记3
  • AipexBase怎么用?AI 原生BaaS平台一句话做后端开发 - 实践
  • 完整教程:Elasticsearch:分布式搜索引擎数据库
  • wsl基本使用以及使用过程中遇到的问题
  • 人工智能之数据分析 Matplotlib:第五章 常见函数
  • CTF基础介绍与入门讲解
  • Java项目中最常用的6个设计模式
  • IDEA中使用http协议
  • 记录容器云基于debian镜像的自由组合
  • 详细介绍:Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装
  • ESP32C3开发指南(基于IDF):console控制台命令行交互功能 - 教程
  • OpenCSG x Dell联合发布面向AI原生企业的下一代IT解决方案
  • vue+devtools下载地址
  • 渗透测试中的方法论
  • 德国首个AI科学中心启动研究合作
  • 最全、最清晰、C++的 lower_bound / upper_bound 总结
  • 密码系统设计实验3-2
  • Mysql基础3 - 实践
  • 2025-12-01-Nature 本周最新文献速递
  • 论程序员的管理
  • DevOps设备链对比,Azure 和 TikLab哪款更好用?