Dio HTTP方法字符串CRLF注入漏洞分析

本文详细分析了Dart网络请求库Dio存在的CRLF注入漏洞(CVE-2021-31402),该漏洞允许攻击者通过控制HTTP方法字符串实施攻击,影响版本4.0.0,已在5.0.0版本中修复。

Dio易受HTTP方法字符串CRLF注入攻击

漏洞详情

包名: dio (Pub) 受影响版本: < 5.0.0 已修复版本: 5.0.0

漏洞描述

影响

Dio包4.0.0版本对于Dart语言存在CRLF注入漏洞,如果攻击者控制HTTP方法字符串,则可利用此漏洞。此漏洞与CVE-2020-35669不同。

补丁

该漏洞已通过cfug/dio@927f79e提交修复,并包含在v5.0.0及以后版本中。

临时解决方案

将相关提交cherry-pick到您自己的分支也可以解决此漏洞。

参考资料

安全评分

严重程度: 高 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-93 描述: CRLF序列的不恰当中和(‘CRLF注入’) 产品使用CRLF(回车换行)作为特殊元素,例如用于分隔行或记录,但未能对输入中的CRLF序列进行中和或错误地进行了中和。

识别信息

  • CVE ID: CVE-2021-31402
  • GHSA ID: GHSA-9324-jv53-9cc8
  • 源代码: cfug/dio

贡献者

  • licy183: 报告者
  • AlexV525: 修复开发者
  • set0x: 报告者
  • thomas-chauchefoin-sonarsource: 分析师
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计