curl GitHub仓库私密RSA私钥泄露事件分析

本文详细分析了curl GitHub仓库中测试数据文件意外暴露RSA私钥及证书的安全事件,探讨了私钥泄露的潜在风险与应对措施,包括密钥撤销、安全存储方案及预防性工具的使用。

报告 #3268294 - curl GitHub仓库私密RSA私钥泄露 | HackerOne

描述

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

重现步骤

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

建议缓解措施

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

补充说明

  • 该密钥似乎是1024位RSA,使用过时的签名算法(md5WithRSAEncryption)。
  • 证书有效期早已过期,表明这可能是测试密钥,但公开暴露仍构成安全风险。
  • 考虑添加扫描工具或git预提交钩子,以防止未来提交私钥。
  • 如果需要,我可以帮助调整此报告以提交或转换为特定漏洞赏金平台格式。

影响

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

时间线

  • 2025年7月23日 20:03 UTC:yousesf向curl提交报告。
  • 2025年7月23日 20:11 UTC:bagder(curl工作人员)关闭报告,状态改为“不适用”,并评论:“恭喜,你找到了测试套件。不是安全问题。”
  • 2025年7月23日 20:12 UTC:bagder请求公开此报告,并说明:“根据项目透明政策,我们希望所有报告公开并公之于众。”
  • 2025年7月23日 20:55 UTC:bagder公开此报告。

报告详情

  • 报告日期:2025年7月23日 20:03 UTC
  • 报告者:yousesf
  • 报告对象:curl
  • 报告ID:#3268294
  • 严重性:无评级(—)
  • 公开日期:2025年7月23日 20:55 UTC
  • 弱点:敏感信息的不安全存储
  • CVE ID:无
  • 赏金:无
  • 账户详情:无

附件

  • 1个附件:F4603645: Screenshot_(171).png

注意:您的JavaScript似乎已禁用。要使用HackerOne,请在浏览器中启用JavaScript并刷新此页面。

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