漏洞报告:cURL中通过file://协议实现的本地文件泄露
摘要
发现cURL中存在安全漏洞,允许通过file://协议未授权访问本地文件系统,特别是在提升权限(如sudo)执行时。这可能导致敏感数据泄露,包括存储在/etc/shadow中的密码哈希值。
复现步骤
定位协议处理程序
首先,在cURL源码中搜索协议注册:
|
|
关键发现:文件处理程序在协议数组中默认启用。
检查文件协议处理程序
追踪文件处理程序实现:
|
|
发现的漏洞:
- 未验证路径遍历序列(../)
- 未处理符号链接
- 未检查文件系统权限
基本本地文件读取
|
|
特权文件访问(使用sudo)
|
|
预期输出:
|
|
参考资料
- cURL安全文档 - cURL的官方安全注意事项
- CURLOPT_PROTOCOLS手册页 - 协议限制选项
影响
- 机密性破坏:对敏感系统文件的读取访问
- 权限提升:通过哈希破解可能获得root访问权限
业务影响:
- 对处理敏感数据的系统至关重要
- 在容器化环境中经常被忽略
时间线
- ahmedqc1 提交报告给curl - 2天前
- bagder (curl staff) 关闭报告并将状态改为"不适用" - 2天前
- “这是cURL按文档工作的方式。不是安全问题。”
- bagder (curl staff) 请求披露此报告 - 2天前
- “根据项目透明度政策,我们希望所有报告都被披露并公开。”
- bagder (curl staff) 披露此报告 - 2天前
报告详情
- 报告时间:2025年8月10日,UTC时间20:24
- 报告者:ahmedqc1
- 报告对象:curl
- 报告ID:#3293884
- 严重程度:中等(4 ~ 6.9)
- 披露时间:2025年8月10日,UTC时间21:37
- 弱点类型:路径遍历
- CVE ID:无
- 赏金:无
附件
- F4664084: Screenshot_2025-08-10_230246.png
- F4664086: Screenshot_2025-08-10_230435.png