Nuclei漏洞CVE-2024-43405曝光:攻击者可绕过签名验证执行恶意代码

admin 2025年1月11日12:54:08评论8 views字数 1126阅读3分45秒阅读模式
Nuclei漏洞CVE-2024-43405曝光:攻击者可绕过签名验证执行恶意代码

近日,开源漏洞扫描工具Nuclei被曝出一个严重漏洞(CVE-2024-43405),攻击者可通过该漏洞绕过模板签名验证,将恶意代码注入模板并在本地系统执行。该漏洞由Wiz的研究人员发现,并于2024年9月4日在Nuclei v3.3.2版本中修复。

Nuclei漏洞CVE-2024-43405曝光:攻击者可绕过签名验证执行恶意代码

Nuclei是由ProjectDiscovery开发的一款广受欢迎的开源漏洞扫描工具,主要用于检测网站中的漏洞、配置错误、暴露的配置文件、Webshell和后门等。其扫描系统基于超过10,000个YAML模板,这些模板不仅用于检测已知漏洞,还包含一个“代码协议”,允许在本地设备上执行命令或脚本,以扩展模板的功能。

为确保模板未被篡改,Nuclei为每个模板添加了签名验证机制,即在模板底部添加一个摘要哈希值(digest hash),格式为# digest: <hash>。然而,CVE-2024-43405漏洞的存在使得攻击者可以绕过这一验证机制,注入恶意代码。

漏洞原理:

该漏洞的核心问题在于Go语言的正则表达式签名验证与YAML解析器在处理换行符时的行为不一致。具体来说,Go的验证逻辑将r视为同一行的一部分,而YAML解析器则将其解释为换行符。这种差异使得攻击者可以通过注入r字符绕过签名验证,同时确保恶意代码仍能被YAML解析器执行。

此外,Nuclei在处理多个# digest:签名行时也存在缺陷。其验证逻辑仅检查模板中第一个# digest:行,而忽略后续的签名行。攻击者可利用这一点,在合法的摘要哈希后添加包含恶意代码的# digest:行,从而在模板执行时注入并运行恶意代码。

Wiz研究员Guy Goldenberg解释道:“通过利用Go正则表达式实现与YAML解析器之间的差异,我们设计了一个模板,使用r作为换行符,成功绕过了签名验证,但恶意代码仍能被YAML解析器执行。”

Nuclei漏洞CVE-2024-43405曝光:攻击者可绕过签名验证执行恶意代码

解析Nuclei模板的示例

来源:Wiz

修复与建议:

Wiz团队已于2024年8月14日向ProjectDiscovery报告了该漏洞,并于9月4日发布了修复版本Nuclei v3.3.2。建议所有使用旧版本Nuclei的用户立即升级至最新版本,以避免潜在的安全风险。

Goldenberg还建议,用户应在虚拟机或隔离环境中运行Nuclei,以防止恶意模板的潜在利用。

总结:

CVE-2024-43405漏洞的曝光再次提醒我们,开源工具的安全性同样需要高度重视。及时更新软件版本、采用隔离运行环境是防范此类漏洞的有效措施。对于安全从业者而言,保持对漏洞动态的关注并采取相应防护措施至关重要。

关注我们,获取更多安全动态!

原文始发于微信公众号(技术修道场):Nuclei漏洞CVE-2024-43405曝光:攻击者可绕过签名验证执行恶意代码

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

发表评论

匿名网友 填写信息