返回

文章详情

追逐 OPNsense RCE:我第一个 CVE 的背后故事

Hacker News2026年7月1日 17:32

我认为每个安全研究人员都记得他们的第一个 CVE。对我来说,这个里程碑并不是一个单一的、低影响的漏洞。相反,在我 Hacking Cult 的指定安全研究周期间,我对 OPNsense 的深度研究产生了五个被接受的漏洞。这一里程碑以一个 CVSS 评分为 9.9 的关键远程代码执行漏洞(CVE-2026-57155)作为高潮。OPNsense 作为一个流行的基于 FreeBSD 的开源防火墙和路由平台,正处于企业和家庭网络的边缘。OPNsense 的主张是通过提供所有昂贵商业防火墙的功能以及更多内容,免费让每个人都能获得数字安全。作为我们公司的渗透测试人员,我们定期有机会花时间进行安全研究和职业发展。由于我们极大地依赖开源软件,我们决定利用这段时间进行渗透测试,以帮助改善生态系统。在一次社区投票中,OPNsense 被建议作为目标,真是个完美的选择!在五天的时间里,我能够识别出八个漏洞。为了负责任的披露,这篇文章将专注于已经修补的五个漏洞。在其余的三个漏洞中,一个被识别为重复,另外两个在撰写本文时仍在维护者的积极审核中。 通过任意文件写入找到账户 CVE/GHSA 严重性 RCE,地理 IP 别名导入器 CVE-2026-57155 GHSA-wjqq-rfmm-v5h3 关键 (9.9) MVC 安全删除中的 XPath 注入 CVE-2026-58395 GHSA-98h6-479q-9q3w 中等 (4.3) 服务:NTP GPS 中的存储型 XSS CVE-2026-58392 GHSA-h793-67jm-j4m5 中等 (5.4) 通过证书描述的存储型 XSS CVE-2026-58394 GHSA-8pgr-x852-qx4j 中等 (5.2) 防火墙规则/NAT 网格中的存储型 XSS CVE-2026-58391 GHSA-2xrm-p255-p43h 中等 (5.4) 感谢 OPNsense 团队的快速和专业响应,所有披露的五个漏洞都已成功修复。在这篇文章中,我将带您了解这次研究周的背景故事,简要概述这四个中等漏洞,最后提供关于我如何发现和串联 CVE-2026-57155 以实现完全 RCE 的深入技术分析。 一周的代码 研究开始于在虚拟机上设置一个 OPNsense 实例。我下载了 OPNsense 核心的源代码,开始深入研究。我的主要目标是描绘出应用程序的攻击面,追踪路由逻辑和驱动网页界面的基于 Phalcon 的模型-视图-控制器(MVC)框架。为了实现这一点,我的方法论的一个主要基石是手动污染分析。我广泛利用 ripgrep 和自定义正则表达式在庞大的 PHP 代码库中寻找潜在的 sink。通过 grep 寻找危险函数,如文件系统操作、shell 执行和未经过滤的输出,我可以手动追踪执行流,看看用户提供的输入是否在没有适当验证的情况下达到了那些 sink。 在 OPNsense 中追踪 sink 是一个挑战,因为 Phalcon 框架。许多路由和参数绑定在后台动态处理,这意味着简单的 grep 并不总是能说清整个故事。我经常需要将我的 ripgrep 发现与实际的 XML 配置文件进行交叉参考,这些文件将前端控制器映射到后端 API 端点。此外,我使用 Burp Suite 进行动态代理,以拦截和分析前端与 Phalcon 后端之间的 API 调用。我还积极模糊测试各种输入字段,例如证书描述、别名和网格参数,使用 XSS polyglot 负载。多功能负载在此类黑箱测试中极为有效,因为一个负载是为同时突破多个上下文而设计的(例如,逃离 HTML 属性、JavaScript 字符串和标准 HTML 标签)。 四个中等漏洞 在告诉您我发现的关键 RCE 的更多细节之前,先谈谈我在 OPNsense 审计中发现的其他几个中等漏洞。它们都无法单独让您获得 root shell,但每一个都告诉您相同类别的错误(不对输入进行过滤)在相同代码库的不同角落中是如何出现的。 MVC 安全删除中的 XPath 注入 OPNsense 中基于 MVC 的模块的“删除”按钮最终都会调用同一个通用的安全删除例程,该例程由数十个端点共享。所以当我发现 URL 中的删除令牌直接被放入一个用普通字符串插值构建的 XPath 查询时,它并没有影响一个端点,而是影响了 21 个!像 ')or(' 这样简单的负载会将 1 $xpath = "//text()[contains(.,' { $token } ')]" ; 转化为一个匹配 config.xml 中所有文本节点的查询。当匹配时,API 会抛出一个包含模块、描述和匹配节点 UUID 的 HTTP 500 错误消息。具有其中一个权限的用户……

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡