这是一篇针对 FreeSWITCH(用于 IP 电话交换机和联络中心通话平台的开源软件)中漏洞的解析:SIP MESSAGE 的处理可以执行管理命令。面向运营 IP 电话、联络中心和通话基础设施的人员,以防御视角说明影响和应对,不涉及攻击步骤。
- CVE
- CVE-2026-116779(GitHub 公告 GHSA-mg63-h38w-8p9p)
- 严重度
- CVSS v3.1 9.8(Critical;向量 AV:N/AC:L/PR:N/UI:N;由 GitHub 给出)
- 类型
- 命令注入(CWE-77、CWE-78);暴露危险方法(CWE-749)
- 前提条件
- 公告:能发送 profile 接受的 SIP MESSAGE。CVE 记录:任何已认证的账户即可(某些配置会消除认证障碍)
- 受影响版本
- SignalWire FreeSWITCH 1.11.2 及更早版本
- 修复
- FreeSWITCH 1.11.3 及以后版本(新增设置默认关闭)
- 日期
- 公告:2026年10月28日 / CVE 记录:2026年11月5日
- 利用情况
- 公告称已观察到在野利用。11月9日列入 CISA KEV(期限11月12日)
放任不管的风险
FreeSWITCH 以守护进程方式运行,据公告,操作系统命令会以其权限执行。它的配置里往往保存着 SIP 账户、中继线路和管理连接的凭据,所以泄露的影响会超出电话平台。通话也可能被控制;按本站的判断,这可能导致虚假外呼产生的费用。
这是什么样的漏洞
据公告,FreeSWITCH 在处理入站 SIP MESSAGE(文本消息)时,会根据消息的寻址方式选择一种聊天类型。选中其中一种类型会运行 FreeSWITCH 的管理 API,因此 API 命令(包括执行操作系统命令的命令)会以守护进程的权限执行。本站不描述消息的形式,也不描述如何进行这种选择。
公告称,默认的 internal 和 external profile 都启用了入站聊天。也就是说,不需要任何特殊配置就可能受影响。
修复前(1.11.2 及更早版本)
- 被接受的 SIP MESSAGE 可以到达管理 API
- 默认 profile 中入站聊天是开启的
- 只要有已认证的账户就足以执行
1.11.3 及以后版本中的变化
- 选择 API 变为每个 profile 的设置(enable-chat-api-proto)
- 除非明确设置,否则该设置默认关闭
- 不需要聊天的 profile 可以用 enable-chat 停止接收
谁受影响
| 项目 | 内容 |
|---|---|
| 产品 | SignalWire FreeSWITCH |
| 受影响版本 | 1.11.2 及更早版本(CVE 记录的写法:before 1.11.3) |
| 修复版本 | 1.11.3 及以后版本 |
| 能完全堵住路径 | 在相关 profile 上把 enable-chat 设为 false |
| 仅为缓解 | MESSAGE 认证(auth-messages,自 1.10.7 起默认启用);删除没有密码的目录用户 |
| 不能堵住 | 把 disable_system_api_commands 设为 true(只移除 system API) |
- 没有密码的目录用户(公告以 conf/vanilla 目录中的默认用户为例)会消除认证障碍。除非把 allow-empty-password 设为 false,否则不会对该用户强制认证。
- 内嵌 FreeSWITCH 的 IP-PBX 和通话平台产品,可能以自己的版本号提供修复。请询问供应商。
如何确认自己是否受影响
确认 FreeSWITCH 的版本
查看正在运行的版本(例如在 fs_cli 中使用 version 命令),或软件包、容器的版本。1.11.2 或更早版本受影响。如果有多台交换机(生产、预发布、开发,或每个站点一台),请逐一检查(资产清点清单)。
确认 SIP 监听端口是否暴露
确认 Sofia profile(internal、external 等)能否从互联网或其他不可信网络到达。请包括为中继线路和远程办公终端开放的端口。
检查聊天设置
查看每个 profile 的 enable-chat 和 auth-messages。公告称,默认的 internal 和 external profile 中入站聊天是开启的。同时记下哪些 profile 实际使用聊天。
今天该做什么
更新到 1.11.3 或更高版本(最优先)
把 FreeSWITCH 更新到 1.11.3 或更高版本。KEV 期限为11月12日。如果它内嵌在某个产品中,请应用供应商发布的修复版本。
在不使用聊天的 profile 上把 enable-chat 设为 false
公告把在每个不需要入站 SIP 聊天的 profile 上将 enable-chat 设为 false,列为唯一能完全堵住这条路径的措施。在能更新之前,请把它作为最优先的临时措施,更新之后也要让不使用的 profile 保持禁用。
加强认证并收窄可达范围(缓解措施)
启用 auth-messages,并删除没有密码或 a1-hash 的目录用户。作为本站的补充建议,把可访问 SIP 监听端口的来源地址限制为您的中继线路和需要使用的终端。这些措施只能减少可发起攻击的人,不能堵住这条路径。
检查是否已经被入侵
由于已观察到利用,针对更新之前的这段时间,请查找意外的入站 SIP MESSAGE、意外的外呼或通话费用激增,以及意外的进程或配置文件变更。KEV 对这一条目标注了取证分诊。流程可参考漏洞修复实务手册。
有疑虑时轮换凭据
公告称配置和凭据可能被泄露。如果发现可疑迹象,请轮换 SIP 账户密码、中继线路凭据和管理连接密码,并与运营商沟通。
利用情况
- 公告和 CVE 记录都称,已观察到对这条路径的在野利用。
- CISA 于2026年11月9日把它列入 KEV,期限为11月12日(KEV 目录版本 2026.11.09)。
- KEV 将勒索软件使用情况记为 Unknown,将取证分诊记为 Yes。
- CISA 的评估(exploitation active、automatable、total technical impact)已添加到 CVE 记录中。
- NVD 的状态为 Analyzed。
- 规模、行为者或受害者数量的公开信息无法确认。
本站的观点:比起缓解措施,更应优先选择让它停止接收的设置
「我们要求认证,所以没事」这样的推理有风险,原因有两点。
第一,公告明确指出认证只是缓解措施,一个被盗的已认证账户就会带来同样的结果。第二,很多交换机根本不使用聊天,对它们来说,把 enable-chat 设为 false 在运维上没有任何代价。对业务没有影响、又能堵住路径本身的变更应该优先做,并与更新一起进行(用 CVSS、EPSS、KEV 确定优先级)。
信息来源
- SignalWire FreeSWITCH — GHSA-mg63-h38w-8p9p: Inbound SIP MESSAGE can select the api chat proto and run FreeSWITCH API commands(2026年10月28日发布;受影响与修复版本、缓解措施、已观察到的利用)
- CVE.org — CVE-2026-116779(2026年11月5日发布;before 1.11.3;CVSS 9.8;含 CISA 的列入信息)
- NVD — CVE-2026-116779(Analyzed;CWE-77、CWE-78、CWE-749)
- CISA KEV — Known Exploited Vulnerabilities Catalog(11月9日列入,期限11月12日)
最后确认:2026年11月10日。
延伸阅读
- 实务:漏洞修复实务手册 / 资产清点清单
- 判断:用 CVSS、EPSS、KEV 确定优先级
- 术语:什么是 RCE(远程代码执行)? / 什么是 CVSS?