CVE-2021-31402: Dio 库易受 HTTP 方法字符串 CRLF 注入攻击
漏洞详情
摘要
Dart 语言中的 dio 包在 4.0.0 版本中存在一个 CRLF 注入漏洞(不同于 CVE-2020-35669),当攻击者能够控制 HTTP 方法字符串时,可触发此漏洞。
影响范围
受影响版本: dio < 5.0.0
已修复版本: dio >= 5.0.0
影响
该漏洞存在于用于 Dart 的 dio 包 4.0.0 版本中,如果攻击者控制了 HTTP 方法字符串,则可能发生 CRLF 注入攻击。
补丁
该漏洞已通过提交 cfug/dio@927f79e 修复,并从 v5.0.0 版本开始包含此修复。
临时解决方法 将此修复提交拣选(cherry-pick)到您自己的代码分支中也可以解决此漏洞。
参考资料
- https://nvd.nist.gov/vuln/detail/CVE-2021-31402
- https://osv.dev/GHSA-jwpw-q68h-r678
- cfug/dio#1130
- cfug/dio#1752
- GHSA-9324-jv53-9cc8
- cfug/dio@927f79e
- https://security.snyk.io/vuln/SNYK-PUB-DIO-5891148
严重程度
高
CVSS 总体评分: 7.5
CVSS v3.1 向量: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS v3 基础指标
- 攻击向量(AV): 网络
- 攻击复杂度(AC): 低
- 所需权限(PR): 无
- 用户交互(UI): 无
- 影响范围(S): 未改变
- 机密性影响(C): 高
- 完整性影响(I): 无
- 可用性影响(A): 无
弱点
- 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 (分析员)
发布信息
- 发布于: 2023年3月21日
- 最后更新: 2023年10月5日
- 来源: cfug/dio
- 发布者: AlexV525
- GitHub 已审阅: 是