curl GitHub仓库中私密RSA私钥意外暴露事件分析

本文详细分析了curl GitHub测试目录中意外公开的RSA私钥文件安全风险,包括复现步骤、缓解建议及潜在攻击影响,涉及加密通信安全与密钥管理最佳实践。

报告 #3268294 - curl GitHub仓库中私密RSA私钥暴露

提交者: yousesf
提交时间: 10天前
状态: 已关闭(标记为"不适用")
公开时间: 2025年7月23日 20:55 UTC

问题描述

在curl GitHub仓库的tests/data/stunnel.pem文件中发现可公开访问的私密RSA密钥及证书。该文件包含PEM格式的RSA私钥,本应严格保密。

复现步骤

  1. 访问curl GitHub仓库中的以下URL:
    1
    
    https://github.com/curl/curl/blob/cc872ebc192f64aa6360853fbdbf0476d05b9178/tests/data/stunnel.pem
    
  2. 查看文件内容,可见私密RSA密钥和证书。

建议缓解措施

  • 立即从公共仓库移除私钥和证书文件。
  • 若这些密钥在任何环境中使用,立即撤销并替换为新生成的密钥。
  • 使用环境变量或安全存储库(如vault)保存敏感密钥,而非将其包含在源代码仓库中。

补充说明

  • 密钥为1024位RSA,使用过时的签名算法(md5WithRSAEncryption)。
  • 证书有效期早已过期,表明这可能是一个测试密钥,但公开暴露仍构成安全风险。
  • 建议添加扫描工具或git预提交钩子,防止未来提交私钥。

影响

  • 私钥泄露会危及加密通信的安全性。
  • 若这些密钥在生产或测试环境中使用,攻击者可完全破坏安全通道或进行恶意认证。
  • 公共仓库中的私钥暴露是严重安全风险,攻击者可能:
    • 使用该密钥冒充服务器或服务
    • 若密钥用于生产或测试环境,解密敏感通信
    • 发起中间人(MITM)攻击

处理过程

  • curl工作人员(bagder) 关闭报告并将状态改为"不适用",评论称:“恭喜你找到了测试套件。这不是安全问题。”
  • 随后应项目透明政策要求,该报告被公开披露。

报告详情

  • 报告ID: #3268294
  • 严重性: 无评级(—)
  • 弱点: 敏感信息的不安全存储
  • CVE ID: 无
  • 奖金: 无

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计