Hacker News 中文摘要

RSS订阅

破解保险库:我们如何发现HashiCorp Vault的零日漏洞 -- Cracking the Vault: How we found zero-day flaws in HashiCorp Vault

文章摘要

Cyata研究团队对广泛使用的HashiCorp Vault进行了深入评估,发现了九个未知的零日漏洞,每个漏洞均通过负责任披露获得CVE编号。这些漏洞包括绕过锁定、规避策略检查和启用冒充等,其中一个甚至允许根级权限提升。团队与HashiCorp密切合作,确保所有问题在公开前得到修复。

文章总结

文章主要内容:

Cyata研究团队对HashiCorp Vault进行了深入的安全评估,发现了九个此前未知的零日漏洞,这些漏洞涉及身份验证、身份管理和授权等核心功能。通过与HashiCorp的紧密合作,所有漏洞在公开披露前均已修复。这些漏洞包括绕过锁定机制、规避策略检查、允许身份冒充,甚至有一个漏洞允许攻击者进行远程代码执行(RCE),从而完全控制系统。

主要发现:

  1. 用户密码认证漏洞:在Vault的userpass认证机制中,发现了多个逻辑漏洞,包括通过大小写变化绕过锁定机制、通过时间差推断有效用户名等,使得攻击者可以在不触发防御机制的情况下进行大规模暴力破解。

  2. LDAP认证漏洞:在LDAP认证中,发现了输入格式不匹配导致的锁定机制绕过,以及特定配置下多因素认证(MFA)的绕过漏洞,使得攻击者可以绕过MFA保护。

  3. TOTP MFA漏洞:在Vault的TOTP(基于时间的一次性密码)实现中,发现了多个逻辑漏洞,包括通过空格填充绕过一次性使用限制、通过时间偏差绕过速率限制等,显著降低了MFA的有效性。

  4. 证书认证漏洞:在证书认证中,发现了攻击者可以通过修改证书的Common Name(CN)字段来冒充其他机器身份,从而继承相关策略和权限。

  5. 权限提升漏洞:发现了管理员用户可以通过策略名称的规范化漏洞,将root策略分配给自身,从而获得完全的管理权限。

  6. 远程代码执行漏洞:通过滥用Vault的插件系统,攻击者可以利用审计日志功能将恶意代码写入磁盘,并通过插件接口执行,最终实现远程代码执行。这是Vault首次公开的RCE漏洞。

影响与攻击路径:

这些漏洞单独或组合使用,可以形成多种攻击路径,具体取决于配置和权限。例如,攻击者可以通过userpass认证漏洞枚举有效用户名、绕过锁定机制和MFA保护,最终通过插件接口实现远程代码执行。类似地,LDAP和证书认证漏洞也可以被利用来绕过安全机制,最终获得完全控制权。

披露与响应:

Cyata团队遵循了严格的负责任披露流程,所有漏洞均在公开前报告给HashiCorp,并与其安全团队紧密合作,确保所有问题在公开披露前得到修复。HashiCorp迅速发布了补丁,确保用户能够及时保护其环境。

结论:

这项研究表明,即使在没有内存安全漏洞的情况下,逻辑漏洞仍然可能导致严重的后果。Vault作为保护基础设施的核心工具,其身份验证、策略执行等核心功能的逻辑漏洞可能会被攻击者利用,导致身份冒充、权限提升甚至远程代码执行。Cyata团队通过手动审查和攻击者思维,系统地揭示了这些漏洞,强调了深入行为测试的重要性。

总结:

这项研究不仅揭示了HashiCorp Vault中的严重漏洞,也为安全社区提供了宝贵的经验教训,提醒我们在信任模型的设计和实现中,逻辑漏洞同样需要高度重视。

评论总结

评论内容总结:

  1. 正面评价

    • 评论1和评论11对文章表示赞赏,认为其内容丰富且具有启发性。
      • "Fantastic work guys. Thank you."(评论1)
      • "Impressive. It's worth reading despite the slight AI sheen to the writing, as it's unusually informative relative to most security articles."(评论11)
  2. 对AI写作的质疑

    • 评论2和评论7对文章的AI写作风格表示怀疑,认为部分内容可能不准确或冗余。
      • "Mmm AI writing gotta love it… /s"(评论2)
      • "Wait, why would I care this is 'daka' in Hebrew? Is this a hallucination or did they edit poorly?"(评论7)
  3. 对文章内容的批评

    • 评论8和评论14认为文章过于冗长,且语言风格过于简单化。
      • "Something feels odd reading the article. It's so verbose like it's trying to explain things like the reader is 5yo."(评论8)
      • "Like, of course a language that sucks for writing parsers will end up with a ton of bugs..."(评论14)
  4. 对漏洞的讨论

    • 评论9和评论15详细讨论了文章中提到的多个CVE漏洞,并指出这些漏洞在OpenBao项目中也有影响。
      • "The post covers 9 CVEs May-June 2025..."(评论9)
      • "We’ve triaged as being affected by 8 of the 9 CVEs..."(评论15)
  5. 对代码质量的批评

    • 评论16对Vault的代码质量表示不满,认为其测试套件不足,存在大量漏洞。
      • "The code base is an absolute mess."(评论16)
  6. 对用户枚举漏洞的看法

    • 评论13认为用户枚举漏洞并不严重,因为用户名通常是公开的。
      • "Its nearly always possible to get usernames elsewhere, they are basically public..."(评论13)
  7. 对文章作者的回应

    • 评论12中作者回应了评论,澄清了漏洞的发现过程,并承认文章的部分内容可能显得“AI化”。
      • "Just to clarify - all the vulnerabilities were found manually by a very real human..."(评论12)

总结:评论中对文章的内容和写作风格存在分歧,部分读者认为其内容丰富且有启发性,而另一些读者则批评其冗长和AI化的写作风格。同时,评论中对文章中提到的漏洞进行了详细讨论,并对Vault的代码质量提出了批评。