ZCyberNews
English
漏洞严重5 分钟阅读
CVE-2025-69691

CVE-2025-69691: Netgate pfSense XMLRPC API 允许管理员代码执行

CVE-2025-69691 (CVSS 9.9) 在 Netgate pfSense CE 2.8.0 中允许经过身份验证的管理员通过 XMLRPC 的 pfsense.exec_php 执行任意 PHP;Netgate 对此严重性提出异议。

CVE-2025-69691: Netgate pfSense XMLRPC API 允许管理员代码执行

执行摘要

Netgate pfSense CE 2.8.0 中存在一个严重漏洞 —— 跟踪编号为 CVE-2025-69691,CVSS 评分为 9.9 —— 允许经过身份验证的管理员通过 XMLRPC API 的 pfsense.exec_php 方法执行任意 PHP 代码。这一漏洞在 2026 年 2 月的 Full Disclosure 邮件列表上被披露,引起了 Netgate 的激烈争议,Netgate 认为 API 端点仅对管理员用户有意开放,并且这类用户已经被允许运行 PHP 代码。这一分歧突显了研究人员对安全边界违规的看法与供应商设计哲学之间的根本紧张关系。

技术分析

根据在 Full Disclosure 邮件列表(2026 年 2 月)上发布的披露信息,该漏洞存在于 pfSense CE 版本 2.8.0 暴露的 XMLRPC API 中。pfsense.exec_php 方法接受任意 PHP 代码作为输入,并在服务器上执行,无需额外的沙箱或权限检查,只需满足初始身份验证要求。

pfSense 中的 XMLRPC API 设计用于远程管理和自动化。exec_php 方法,如 pfSense 开发者 API 文档所述,旨在用于插件和集成用例。报告 CVE-2025-69691 的研究人员认为,该方法不应以当前形式通过 API 访问,因为它实际上授予了经过身份验证的管理员通过 PHP 函数如 exec()system()shell_exec() 运行任意系统命令的能力。

Netgate 的立场,如 NVD 条目中所记录,是 API 调用仅对已经拥有管理权限的用户可用 —— 并且这些用户被有意允许执行 PHP 代码。供应商对将这种行为归类为漏洞提出异议,声称 API 按设计工作。

这种争议并非没有先例。一些网络设备供应商历史上在向经过身份验证的管理员暴露代码执行能力时划了一条线,认为完全的管理员访问权限已经意味着修改系统文件和运行命令的能力。相比之下,安全研究人员通常将任何执行任意代码的 API 端点 —— 即使是经过身份验证的 —— 视为权限提升风险,特别是在多租户或委托管理员场景中。

需要注意的是,披露不包括概念验证代码、漏洞链或野外利用的证据。9.9 的 CVSS 评分反映了利用的容易程度(低攻击复杂性、无需用户交互、基于网络)与对机密性、完整性和可用性的高影响 —— 但仅在身份验证之后。

缓解措施与建议

对于运行 pfSense CE 2.8.0 的组织,主要的缓解措施是将对 XMLRPC API 的访问限制在受信任的 IP 地址。这可以通过防火墙规则实现,限制允许到达 XMLRPC 端点(通常是端口 443 或自定义端口)的源 IP。

此外,管理员应该审查他们的环境是否需要 pfsense.exec_php 方法。如果 XMLRPC API 没有被积极用于自动化或集成,完全禁用服务可以减少攻击面。截至本文撰写时,Netgate 尚未发布移除或限制该方法的补丁或配置更改,因此防御者必须依赖于网络级控制。

在多管理员环境中使用 pfSense 的组织 —— 并非所有具有 API 访问权限的用户都应该拥有完整的 PHP 执行权限 —— 应该将此视为优先发现,并实施严格的访问控制或考虑升级到 API 行为更细粒度的版本。

订阅更新

将最新的网络安全资讯直接发送到您的邮箱。

标签:#pfsense#netgate#xmlrpc#cve-2025-69691#code-execution#firewall

相关文章