Dio包CRLF注入漏洞分析与修复

本文详细分析了Dio包在5.0.0版本之前存在的CRLF注入漏洞,攻击者可通过控制HTTP方法字符串实施攻击,涉及CWE-93等安全弱点,最终在5.0.0版本中得到修复。

重复公告:Dio包中CRLF序列的不当处理

漏洞详情

包信息

  • 包管理器:Pub
  • 包名称:dio

影响版本

  • 受影响版本:< 5.0.0
  • 已修复版本:5.0.0

公告状态

此公告已被撤回,因为它是GHSA-9324-jv53-9cc8的重复公告。保留此链接是为了维护外部引用。

原始描述 Dart的dio包在5.0.0之前版本允许CRLF注入,如果攻击者控制HTTP方法字符串,这与CVE-2020-35669是不同的漏洞。

参考资料

时间线

  • 国家漏洞数据库发布:2021年4月15日
  • GitHub公告数据库发布:2022年5月24日
  • 审核:2022年9月15日
  • 最后更新:2023年10月5日
  • 撤回:2023年10月5日

严重程度

高危 - CVSS总体评分:7.5/10

CVSS v3基础指标

  • 攻击向量:网络
  • 攻击复杂度:低
  • 所需权限:无
  • 用户交互:无
  • 范围:未改变
  • 机密性:高
  • 完整性:无
  • 可用性:无

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

安全弱点

CWE-74

输出中特殊元素在下游组件使用时不当中和(注入) 产品使用来自上游组件的外部影响输入构建命令、数据结构或记录的全部或部分,但在发送到下游组件时,没有中和或错误地中和可能修改其解析或解释方式的特殊元素。

CWE-88

命令中参数分隔符不当中和(参数注入) 产品为要在另一个控制领域中的单独组件执行的命令构建字符串,但没有正确分隔该命令字符串中预期的参数、选项或开关。

CWE-93

CRLF序列不当中和(CRLF注入) 产品使用CRLF(回车换行)作为特殊元素,例如分隔行或记录,但没有中和或错误地中和来自输入的CRLF序列。

识别信息

  • CVE ID:无已知CVE
  • GHSA ID:GHSA-jwpw-q68h-r678

源代码

  • 仓库:cfug/dio

致谢

  • 分析师:AlexV525
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计