URI 中的整数溢出导致潜在的主机欺骗 (CVE-2024-21631)
CVE编号
CVE-2024-21631利用情况
暂无补丁情况
N/A披露时间
2024-01-04漏洞描述
Vapor是用于Swift的HTTP Web框架。在4.90.0版本之前,Vapor的`vapor_urlparser_parse`函数在解析URI组件时使用了`uint16_t`索引,这可能导致在解析不受信任的输入时出现整数溢出。该漏洞不直接影响Vapor本身,但可能影响依赖于URI类型对用户输入进行验证的应用程序。URI类型在Vapor中的多个位置中使用。开发人员可能决定在他们的应用程序中使用URI来表示URL(尤其是如果该URL然后传递给HTTP客户端),并依赖其公共属性和方法。然而,由于字符串范围被转换为16位整数,URI可能无法正确解析一个有效(尽管异常长)的URL。攻击者可以利用这种行为来欺骗应用程序接受指向不受信任目标的URL。通过用零填充端口号,攻击者可以在解析URL的authority时引发整数溢出,从而欺骗主机。版本4.90.0包含了此问题的修复。作为解决方法,在解析为URI之前验证用户输入,或者如果可能的话,使用Foundation的`URL`和`URLComponents`工具。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接 |
|
---|---|
https://github.com/vapor/vapor/commit/6db3d917b5ce5024a84eb265ef65691383305d70 | |
https://github.com/vapor/vapor/security/advisories/GHSA-r6r4-5pr8-gjcp |
- 攻击路径 网络
- 攻击复杂度 低
- 权限要求 低
- 影响范围 未更改
- 用户交互 无
- 可用性 无
- 保密性 无
- 完整性 高
CWE-ID | 漏洞类型 |
CWE-1104 | 使用未维护的第三方组件 |
CWE-190 | 整数溢出或超界折返 |
CWE-20 | 输入验证不恰当 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论