【安全警报】curl 7.77 漏洞分析 (CVE-2025-15224)
漏洞概述
近日,curl 项目发布了安全公告,披露了一个编号为 CVE-2025-15224 的中危漏洞。该漏洞存在于 curl 7.77.0 及以下版本中,当使用 SSH 协议(SCP 或 SFTP)进行文件传输并启用公钥认证时,curl 未能正确验证服务器的主机密钥,可能导致中间人攻击风险。
漏洞详情
漏洞类型
- CWE 分类:CWE-287 (Improper Authentication)
- 漏洞等级:Low(中低危)
- CVSS 评分:待官方公布
漏洞描述
当用户通过 curl 执行基于 SSH 协议的文件传输操作(SCP 或 SFTP)时,如果选择使用公钥认证方式,curl 在与远程服务器建立 SSH 连接过程中,未能正确执行服务器主机密钥的验证流程。
主机密钥验证是 SSH 协议安全的核心机制之一,用于确认客户端连接的是正确的目标服务器,而非攻击者伪装的恶意服务器。
技术分析
SSH 协议通过主机密钥来验证服务器身份。正常的安全流程包括:
- 首次连接:服务器发送其主机公钥,客户端通常会提示用户确认并存储该密钥的指纹
- 后续连接:客户端将存储的指纹与服务器发送的公钥进行比对
- 验证失败:如果密钥不匹配,应立即终止连接并发出安全警告
然而,受漏洞影响的 curl 版本在这一关键验证步骤上存在缺陷,可能导致:
- 跳过主机密钥验证:即使服务器主机密钥发生变化,curl 仍可能成功建立连接
- 中间人攻击:攻击者可以伪装成目标 SSH 服务器,拦截或篡改传输数据
- 认证绕过:在某些配置下,可能绕过正常的身份验证机制
影响范围
受影响版本
- curl <= 7.77.0
组件类型
- 命令行工具:curl
- 库文件:libcurl
使用场景
以下场景可能受到该漏洞影响:
- 使用
curl scp://...或curl sftp://...进行文件传输 - 启用公钥认证(通过
--key、--pubkey等选项) - 企业内部文件同步、自动化部署、远程备份等场景
漏洞验证
可通过以下方式初步检测当前版本是否存在该漏洞:
# 检查 curl 版本
curl --version
# 测试 SSH 传输(需要配置 SSH 服务器)
curl -k sftp://example.com/test.txt
注:
-k参数会跳过证书验证,如果版本存在漏洞,建议进行完整安全评估。
缓解措施
1. 升级 curl 版本
目前官方已发布修复版本,建议用户立即升级:
# 使用包管理器升级
# Debian/Ubuntu
sudo apt update && sudo apt upgrade curl
# CentOS/RHEL
sudo yum update curl
# macOS
brew upgrade curl
# Windows
# 从官方下载最新版本
2. 临时防护措施
在无法立即升级的情况下,可采取以下临时措施:
- 避免使用 curl 进行 SSH 传输:改用专业的 scp/sftp 客户端工具
- 启用严格的主机密钥检查:确保 SSH 配置中启用了
StrictHostKeyChecking - 网络隔离:避免在不可信网络环境中使用 SSH 传输功能
- 监控异常:加强对文件传输操作的审计和日志分析
3. 安全配置建议
# 使用 known_hosts 文件
# 确保 ~/.ssh/known_hosts 包含正确的服务器指纹
# 配置 SSH 选项(适用于底层调用)
export CURL_SSH_OPTIONS="StrictHostKeyChecking=yes"
漏洞响应时间线
| 阶段 | 内容 | |------|------| | 发现时间 | 2025年初 | | 报告时间 | 通过安全渠道提交 | | 官方确认 | 已确认并分配CVE编号 | | 补丁发布 | 建议关注官方安全公告 | | 公开披露 | 漏洞详情已公开 |
结论与建议
CVE-2025-15224 漏洞虽然评级为 Low,但仍值得安全团队重视。作为广泛使用的网络工具,curl 的任何安全缺陷都可能影响大量应用系统。
立即行动:
- 排查生产环境中 curl 的使用情况
- 评估该漏洞对业务系统的实际影响
- 制定并执行升级计划
- 持续关注官方后续安全更新
建议所有使用 curl 进行 SSH 传输的用户尽快升级至安全版本,并加强对此类基础设施组件的安全管理。
参考来源:curl 官方安全公告、MITRE CVE 数据库
评论 (0)