CVE-2025-69690: 通过备份文件实现Netgate pfSense CE模块安装器远程代码执行
CVE-2025-69690(CVSS 9.1)允许经过身份验证的管理员通过创建一个包含序列化PHP对象的备份文件,在pfSense CE 2.7.2上实现远程代码执行。

执行摘要
Netgate pfSense CE 版本 2.7.2 中存在一个漏洞,跟踪编号为 CVE-2025-69690,CVSS 评分为 9.1,允许经过身份验证的管理员通过上传包含序列化 PHP 对象的精心制作的备份文件来执行任意 PHP 代码。该缺陷位于模块安装器中,该安装器在反序列化用户提供的数据时没有进行适当的清理。Netgate 对此发现提出异议,认为安装器故意限制为管理员级别的用户,这些用户已经具备执行 PHP 代码的能力。该披露于 2026 年 2 月发布在 Full Disclosure 邮件列表上。
技术分析
根据 Full Disclosure 邮件列表(2026 年 2 月)上的披露,该漏洞存在于 pfSense CE 2.7.2 的模块安装器组件中。安装器处理包含序列化 PHP 对象的备份文件。攻击者如果已经通过 pfSense 网络界面进行了身份验证——特别是具有管理员权限——可以制作一个包含恶意 post_reboot_commands 属性的备份文件。
通过模块安装器恢复备份文件时,pfSense 系统在没有验证序列化数据的完整性或来源的情况下反序列化 PHP 对象。这个反序列化过程触发了嵌入在 post_reboot_commands 属性中的命令的执行,导致在底层基于 FreeBSD 的系统上远程代码执行。
CVSS 9.1 分数反映了这个缺陷的严重性:它需要低攻击复杂性、低权限(管理员)和无需用户交互,同时能够完全破坏机密性、完整性和可用性。
Netgate 公开对这个漏洞的严重性和分类提出异议。他们的观点,如 NVD 条目中所记录的,是模块安装器是一个为管理员设计的特有功能,管理员被故意允许执行 PHP 代码。争议的焦点是是否存在权限提升或未经授权的行为——因为攻击者必须是管理员,边际风险仅限于管理员账户被破坏或低权限用户通过另一个漏洞获得管理员访问权限的场景。
需要注意的是,披露中没有包含概念验证漏洞利用或野外活跃利用的证据。该漏洞在发布前已报告给 Netgate,但截至本文撰写时,尚未发布官方补丁或咨询。
缓解措施与建议
鉴于争议和缺乏官方补丁,防御者应采取以下步骤:
- 限制对 pfSense 网络界面的管理员访问,将其限制在一组受信任的 IP 地址上,或使用 VPN 进行管理访问。
- 为所有管理员账户启用多因素认证,以减少凭证盗窃导致利用此缺陷的风险。
- 监控 Web 服务器日志中的备份文件上传——寻找意外或大型备份恢复,尤其是那些在维护窗口之外启动的。
- 定期审计管理员账户,确保不存在未经授权或休眠的账户。
- 考虑降级或阻止模块安装器功能,如果它对操作不是必需的,尽管这可能无法通过 UI 在没有自定义配置更改的情况下实现。
运行 pfSense CE 2.7.2 的组织应将此视为高优先级发现,并根据现有的管理员访问控制评估其暴露情况。
订阅更新
将最新的网络安全资讯直接发送到您的邮箱。
