漏洞信息
CVE编号: CVE-2021-31402 漏洞级别: 高危 (CVSS评分 7.5) 影响范围: Dio包 < 5.0.0 版本 修复版本: 5.0.0 漏洞类型: CRLF注入
漏洞详情
Dio是Dart语言的一个流行的HTTP客户端库。在4.0.0版本中,存在CRLF注入漏洞,当攻击者能够控制HTTP方法字符串时,可以注入恶意内容。该漏洞与CVE-2020-35669属于不同的安全缺陷。
影响分析
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 不需要
- 影响范围: 范围未改变
- 机密性影响: 高(可能导致数据泄露)
- 完整性影响: 无
- 可用性影响: 无
修复方案
- 官方修复: 漏洞已在cfug/dio@927f79e提交中修复,修复内容包含在v5.0.0及更高版本中。
- 临时解决方案: 用户可以cherry-pick该修复提交到自己的分支中。
技术细节
该漏洞属于CWE-93类型:CRLF序列的不当处理(CRLF注入)。当产品使用CRLF(回车换行)作为特殊元素(如分隔行或记录)时,未能正确过滤或处理输入中的CRLF序列。
参考资源
-
NVD漏洞详情:https://nvd.nist.gov/vuln/detail/CVE-2021-31402
-
GitHub安全公告:https://osv.dev/GHSA-jwpw-q68h-r678
-
Snyk漏洞数据库:https://security.snyk.io/vuln/SNYK-PUB-DIO-5891148
时间线
- 报告时间: 由licy183和set0x报告
- 修复时间: 由AlexV525修复
- 分析时间: 由thomas-chauchefoin-sonarsource分析
- 发布到GitHub安全数据库: 2023年3月21日
- 最后更新: 2023年10月5日
安全建议
- 立即升级到Dio 5.0.0或更高版本
- 如果无法立即升级,请应用官方提供的修复提交
- 在代码审查时特别注意HTTP方法字符串的输入验证
- 定期检查依赖项的安全更新