报告 #3030158 - cURL中的认证尝试限制不当
摘要
cURL中的认证机制未能正确限制失败的认证尝试次数,允许攻击者暴力破解凭据。此问题影响基于认证的请求,如果攻击者成功猜出有效密码,可能导致未经授权的访问。
受影响版本
cURL版本:[指定版本] 平台:[指定操作系统和环境] (curl -V 输出:[附加输出])
复现步骤
- 使用有效用户名但错误密码通过cURL发起认证请求:
1
curl -u valid_user:wrong_password http://target-url.com
- 观察多次失败尝试后没有锁定或延迟
- 使用暴力破解脚本自动化该过程:
1
for i in {1..1000}; do curl -u valid_user:password$i http://target-url.com; done
- 如果找到正确密码,攻击者获得未经授权的访问
支持材料/参考
[附加显示多次失败尝试但没有任何锁定的日志或截图] [支持此声明的任何相关文档]
影响
- 允许对用户账户进行暴力破解攻击
- 可能导致未经授权访问,引发数据泄露
- 如果认证暴露,可被远程利用
推荐修复
- 在多次失败认证尝试后实施速率限制
- 引入CAPTCHA或多因素认证(MFA)
- 在预定义失败次数后强制执行临时账户锁定
严重性:严重 🚨
此漏洞可被远程利用,导致未经授权访问,构成高影响安全风险
团队回应
dgustafsson (cURL 工作人员) 评论于 2025年3月10日 21:04 UTC:
强制在失败尝试之间进行退避处理为何是cURL的责任而不是网站的责任?
jimfuller2024 (cURL 工作人员) 评论于 2025年3月10日 21:13 UTC:
我认为这份报告混淆了几个主题,并输出了一些与cURL无关的样板内容 - 但会用一个易于理解的例子来说明 - 可以自由地将cURL作为容器运行,这意味着cURL和容器的整个执行过程是实例化的,完成工作后关闭…cURL无法进行节流控制,并且有很多类似的模拟场景…这就是为什么服务器要做这种事情。 这份报告不是安全问题,也不是cURL的bug。
bagder (cURL 工作人员) 于 2025年3月10日 21:37 UTC 关闭报告并将状态改为"不适用":
认为不是安全问题。如解释的那样,cURL实际上不可能减慢或禁止其在暴力破解尝试中的使用。
报告元数据
- 报告时间:2025年3月10日 21:00 UTC
- 报告者:irfanmughal1122
- 报告对象:cURL
- 报告ID:#3030158
- 严重性:严重 (9 ~ 10)
- 披露时间:2025年6月28日 21:09 UTC
- 弱点:认证尝试限制不当
- CVE ID:无
- 赏金:无