cURL文件协议任意文件读取漏洞分析

本文详细分析了cURL中file://协议处理程序的安全漏洞,攻击者可通过默认启用的文件协议读取系统任意本地文件,包括敏感文件如/etc/shadow,存在严重的机密性风险和系统完全被接管的可能性。

报告 #3242087 - cURL中通过file://协议的任意文件读取

漏洞描述

cURL的file://协议处理程序默认启用,允许访问系统上的本地文件。此行为使得能够运行cURL命令的攻击者通过指定文件路径或使用目录遍历技术读取主机上的任意文件。

复现步骤

  1. 使用默认配置构建cURL(例如:./configure --with-sslmake

  2. 运行 ./src/curl "file:///etc/passwd" 读取passwd文件内容

  3. 运行 ./src/curl "file:///tmp/../../etc/passwd" 演示通过路径遍历访问相同文件

  4. 运行 ./src/curl -s "file:///etc/shadow" | head -c20 读取shadow文件中的部分敏感数据

这确认了可以通过file://协议访问任意本地文件,构成了严重的安全风险。

影响

能够在系统上运行cURL命令的攻击者可以读取运行cURL的用户有权访问的任何本地文件,包括高度敏感的文件(如/etc/shadow)。这可能导致:

  • 密码哈希和凭据的窃取
  • 通过破解被盗哈希实现潜在的权限提升
  • 通过横向移动或进一步利用实现完全系统妥协
  • 机密配置或密钥文件的暴露

总体而言,此漏洞损害了系统机密性,并可能导致受影响主机的完全接管。

时间线

  • 7天前:mr_tufan向curl提交报告
  • 7天前:bagder(curl工作人员)评论:“这是cURL按设计工作的”
  • 7天前:jimfuller2024(curl工作人员)评论:“不是安全问题”
  • 7天前:mr_tufan关闭报告并将状态改为"不适用"
  • 7天前:bagder请求披露此报告
  • 7天前:bagder披露此报告

报告详情

  • 报告时间:2025年7月9日 5:36 AM UTC
  • 报告者:mr_tufan
  • 报告对象:curl
  • 严重程度:严重(9~10)
  • 披露时间:2025年7月9日 7:23 AM UTC
  • 弱点类型:路径遍历
  • CVE ID:无
  • 赏金:无
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计