CVE-2025-67722: CWE-426: FreePBX security-reporting中的不可信搜索路径漏洞
严重性:中等 类型:漏洞
CVE-2025-67722
FreePBX是一个用于管理Asterisk的开源、基于Web的图形用户界面(GUI)。在FreePBX框架16.0.45和17.0.24之前的版本中,已废弃的FreePBX启动脚本 amportal 存在一个经过身份验证的本地权限提升漏洞。
在已废弃的 amportal 工具中,对 freepbx_engine 文件的查找发生在 /etc/asterisk/ 目录中。通常,这些目录被FreePBX配置为可由 asterisk 用户和 asterisk 组的任何成员写入。这意味着,asterisk 组的成员可以在 /etc/asterisk/ 中添加自己的 freepbx_engine 文件,当 amportal 执行时,它会以root权限执行该文件(即使该文件是由非root用户创建和放置的)。
版本16.0.45和17.0.24包含针对此问题的修复。其他缓解策略也可用。请确认只有受信任的本地操作系统用户是 asterisk 组的成员。检查 /etc/asterisk/ 目录中是否有可疑文件(通过GUI中的 Admin -> Config Edit,或通过CLI)。再次确认 /etc/asterisk/asterisk.conf 文件中的 live_dangerously = no 已设置(或未配置,因为默认值为 no)。消除任何可能操纵文件系统的不安全的Asterisk拨号方案应用程序和函数的自定义使用,例如 System()、FILE() 等。
技术摘要
CVE-2025-67722是FreePBX中的一个漏洞,FreePBX是一个管理Asterisk电话系统的开源GUI,影响16.0.45和17.0.24之前的版本。该缺陷存在于已废弃的amportal启动脚本中,该脚本在 /etc/asterisk/ 目录中查找 freepbx_engine 可执行文件。该目录通常可由asterisk用户和asterisk组的任何成员写入。具有该组成员身份的身份验证用户可以在 /etc/asterisk/ 中放置恶意的 freepbx_engine 文件。当amportal执行时,它会以root权限运行此文件,从而使得从asterisk组用户到root的本地权限提升成为可能。该漏洞被归类为CWE-426(不可信搜索路径),因为脚本没有安全地指定可执行路径,从而允许执行恶意文件而非合法文件。利用该漏洞需要本地访问和asterisk组的成员身份,但除了组成员身份外,不需要额外的用户交互或提升的权限。该漏洞在FreePBX版本16.0.45和17.0.24中通过纠正搜索路径和执行方法得到解决。其他缓解措施包括:将asterisk组成员身份限制为仅受信任的用户;审核 /etc/asterisk/ 目录中是否存在未授权文件;确保asterisk.conf中的 live_dangerously 设置为 no(默认值);避免使用可能操纵文件系统的危险拨号方案应用程序,如 System() 或 FILE()。截至发布日期,未报告已知的野外利用。CVSS v4.0基础评分为5.7,表明由于需要本地权限和受影响系统范围有限,该漏洞属于中等严重性。
潜在影响
对于欧洲组织,尤其是那些运营使用FreePBX的VoIP基础设施或电话系统的组织,此漏洞存在重大的本地权限提升风险。具有本地访问权限和asterisk组成员身份的攻击者可以获得root权限,可能导致完整的系统入侵、对敏感通信的未经授权访问以及电话服务中断。这可能影响关键通信基础设施的机密性、完整性和可用性。鉴于FreePBX在企业和服务提供商环境中的广泛使用,利用此漏洞可能促进在网络内的横向移动或建立持久立足点。在金融、医疗保健和政府等受监管的行业,影响更为严重,因为这些行业的电话系统对运营至关重要且合规要求严格。尽管利用需要本地访问,但内部威胁或利用其他漏洞获得初始访问权限的攻击者可能通过此缺陷提升权限。虽然野外未发现已知利用,降低了直接风险,但并未消除风险,这强调了主动修复的必要性。
缓解建议
- 将FreePBX安装升级到16.0.45或17.0.24及更高版本,这些版本已修复该漏洞。
- 将asterisk组的成员身份严格限制为受信任的系统管理员和服务账户;定期审核组成员身份。
- 彻底检查 /etc/asterisk/ 目录,以检测并删除任何未授权或可疑文件,尤其是 freepbx_engine。
- 验证 /etc/asterisk/asterisk.conf 中的 live_dangerously 参数是否设置为 no 或保持未配置状态(默认为 no),以防止不安全操作。
- 避免或谨慎控制使用可执行系统命令或操纵文件系统的拨号方案应用程序和函数,如 System() 和 FILE()。
- 在 /etc/asterisk/ 上实施严格的文件系统权限,以防止未经授权的写访问。
- 监控系统日志和FreePBX审计日志,查找与 amportal 执行或 /etc/asterisk/ 中文件修改相关的异常活动。
- 采用基于主机的入侵检测系统(HIDS),以在关键目录中出现意外文件创建或执行时发出警报。
- 教育管理员和操作员了解已废弃工具(如 amportal)的风险,并鼓励迁移到受支持的管理工具。
- 考虑网络分段和访问控制,以限制对FreePBX服务器的本地访问。
受影响的国家
德国、法国、英国、意大利、西班牙、荷兰、波兰