Nuclei 漏洞允许绕过签名并执行代码

admin 2025年1月7日10:58:11评论13 views字数 1265阅读4分13秒阅读模式
Nuclei 漏洞允许绕过签名并执行代码

一个高危安全漏洞,追踪为 CVE-2024-43405(CVSS 评分为 7.4),存在于开源漏洞扫描器 ProjectDiscovery 的 Nuclei 中,可能允许攻击者绕过签名检查并执行恶意代码。这个漏洞是由 Wiz 的工程团队发现的。

该漏洞源于换行符处理的差异和多签名处理,使攻击者能够向模板中注入恶意内容。“已在 Nuclei 的模板签名验证系统中识别出一个漏洞,攻击者可能利用该漏洞绕过签名检查并通过自定义代码模板执行恶意代码。”GitHub 上发布的公告中写道。“该漏洞源于签名验证过程和 YAML 解析器处理换行符的差异,结合多个签名的处理方式。这使攻击者能够在保持模板良性部分的有效签名的同时,向模板中注入恶意内容。”

该漏洞影响所有版本高于 3.0.0 的 Nuclei,并在版本 v3.3.2 中得到解决。该漏洞扫描器在 GitHub 上拥有 21,000+ 颗星和 2.1M+ 次下载,Wiz 研究人员指出,这个软件对安全社区至关重要,强调了解决漏洞的必要性。

Nuclei 的优势在于其灵活的基于 YAML 的模板,能够检测漏洞和错误配置。Nuclei 支持多种协议,包括 HTTP、TCP、DNS、TLS 和代码。代码协议允许在主机操作系统上执行外部代码,专家警告这一功能可能带来严重风险。使用代码协议的 Nuclei 模板可以评估系统安全,但也有可能在本地执行恶意代码,潜在地威胁服务器或基础设施。

“Nuclei 模板的灵活性意味着它们可以被用于合法或恶意目的。例如,以下模板演示了攻击者如何利用代码协议从运行模板的主机中窃取敏感数据。”Wiz 发布的报告中写道。

Nuclei 使用签名验证来确保模板的完整性,但其依赖这种单一机制创造了一个关键的失败点,凸显了需要强大的验证。Wiz 研究人员表示,问题源于在签名验证中使用正则表达式与 YAML 解析器结合,允许攻击者利用解析冲突中的“r”字符绕过验证。解析不一致使攻击者能够使用“r”添加第二个“# digest:”行,绕过签名验证,但仍被 YAML 解析器执行。

这种利用是由于以下关键弱点:

  • 解析器不一致:Go 的基于正则表达式的签名验证将 r 视为同一行的一部分,而 YAML 解析器将其解释为换行符。这种不匹配允许攻击者注入绕过验证但被 YAML 解析器执行的内容。

  • 首签名信任:验证逻辑仅验证第一个 # digest: 行。额外的 # digest: 行在验证过程中被忽略,但仍在解析和执行的内容中。

  • 签名移除不一致:ReplaceAll 函数从哈希内容中移除所有 # digest: 行,确保仅第一行被验证。后续行中的恶意内容仍未经验证但可执行。攻击者可以将这些弱点链接起来,向 Nuclei 模板中注入未经验证但可执行的内容。

  • “此漏洞的攻击向量出现在组织运行未受信任或社区贡献的模板而没有适当的验证或隔离时。此外,允许用户修改或上传 Nuclei 模板的服务,如自动扫描平台或共享安全管道,变得特别易受攻击。”报告总结道。“攻击者可以利用这一功能注入恶意模板,导致任意命令执行、数据窃取或系统妥协。”

原文始发于微信公众号(黑猫安全):Nuclei 漏洞允许绕过签名并执行代码

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月7日10:58:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Nuclei 漏洞允许绕过签名并执行代码https://cn-sec.com/archives/3599930.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息