Nuclei 缺陷可导致恶意模板绕过签名验证
2025-1-6 09:44:0 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

开源漏洞扫描器 Nuclei 修复了一个漏洞,可导致攻击者绕过签名验证,同时将恶意代码偷偷注入在本地系统上执行的模板中。

Nuclei 是一款由 ProjectDiscovery 创建的热门开源漏洞扫描器,用于扫描网站中的漏洞和其它弱点。该项目利用由1万多个 YAML 模板构成的基于模板的扫描系统,在网站中扫描已知漏洞、配置不当、被泄露的配置文件、webshell 和后门。

这些YAML模板还包括一个代码协议,可在用于扩展模板功能的设备上在本地执行命令或脚本。每个模板都被一个摘要哈希“签名”,用于验证该模板并未修改以包含恶意代码。

该摘要哈希以 # digest: <hash> 的格式被增加到模板底部。

绕过Nuclei 签名验证

Wiz 公司的研究员发现了一个新的漏洞CVE-2024-43405,即使模板被修改为包含恶意代码,它也会绕过Nuclei 的签名验证。该漏洞是由基于 Go 的正则表达式签名验证以及YAML解析器在验证该签名时处理换行符的方式引发的。

在验证签名时,Go 的验证逻辑将 \r 当作同一行的一部分。然而,该YAML解析器将其解析为一个换行符。这一错误匹配导致攻击者可注入恶意内容绕过验证,但在被 YAML 解析器处理时仍被执行。

另外一个问题在于 Nuclei 处理多个 #digest: 签名行的方式,因为该流程仅检查模板中第一次出现的 #digest 而忽视该模板后来发现的其它 #digest。在第一个合法的摘要后增加多个恶意的 “#digest: ” payload 即可利用该问题。这些payload 中包含一个恶意的 “code” 不分,之后当使用该模板时,该部分就会被注入并执行。

Wiz 公司的研究员 Guy Goldenberg 提到,“通过对错配的新行解释的洞察,我们构建了一个模板,可利用Go 正则表达式实现和YAML解析器之间的差距。将 \r 用作换行符,我们可以在模板中包含第二个 #digest: 行,避开签名验证流程,但会被YAML解释器解析和执行。”

Wiz 在2024年8月14日负责任地将该漏洞报送给 ProjectDiscovery,并在9月4日的 Nuclei v3.3.2中修复了该漏洞。建议仍然使用 Nuclei 老旧版本的用户更新至最新版本。Goldenberg 还建议在虚拟机或隔离环境中使用 Nuclei,阻止恶意模板遭潜在利用。

代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com


推荐阅读

在线阅读版:《2024中国软件供应链安全分析报告》全文

LofyGang 组织利用200个恶意NPM包投毒开源软件

.NET Core 开源库被曝漏洞,可使恶意软件逃避检测,无补丁

Russian APT Map: 这张开源地图显示了2000多款俄罗斯恶意软件之间的关联

想知道所连WiFi 网络是否恶意?用开源Python 脚本 PiKarma 就够了

原文链接

https://www.darkreading.com/vulnerabilities-threats/active-directory-flaw-can-crash-any-microsoft-server-connected-to-the-internet

题图:Pexels License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 "” 吧~


文章来源: https://mp.weixin.qq.com/s?__biz=MzI2NTg4OTc5Nw==&mid=2247521982&idx=1&sn=e0b6001a9064253e2af09b4969c75d4d&chksm=ea94a7d4dde32ec2ea8ccf951f0e4834747f438eb28ed18c9f2cba15a858c0fdd164f38b10de&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh