远程控制软件的安全模型通常默认「控制方掌握主动权」。TeamViewer 这次修掉的一个漏洞把这个方向倒了过来:被控制的那台机器,可以反过来攻击发起控制的那台电脑。漏洞编号 CVE-2026-111585,CVSS 评分 8.8,修复版本为 TeamViewer 15.83。
事件概述
在 TeamViewer 的会话里,主动连接并接管操作的一端叫 viewer(控制端),被操作的那台叫 host(被控端)。这个漏洞的关键在于:恶意或被攻陷的 host,可以让 viewer 端的 TeamViewer 崩溃,视平台不同还可能在 viewer 的电脑上执行代码。前提只有一个——用户主动向那台 host 发起远程控制会话。
受影响范围包括 Windows、Linux、macOS 上的 TeamViewer 完整客户端、Windows 便携版,以及 Android 远程控制应用,所有低于 15.83 的版本都在其中。值得注意的是,9 月发布的安全更新 15.82 依然受影响,也就是说上个月刚做过安全升级的用户并没有被覆盖。
技术细节:屏幕尺寸算错,内存就开小了
安全公司 Remedio 的研究员 Omri Dar 在 10 月 29 日公开了技术分析,他在文中写得很直白:攻击者是 host,受害者是 viewer。
触发路径并不复杂。远程会话建立时,host 会告诉 viewer 自己的屏幕图像有多大,viewer 按这个尺寸预留内存。问题出在尺寸计算会溢出,导致预留的空间过小。随后到达的屏幕数据就被写到这块空间的边界之外。
最轻的后果是 viewer 端的 TeamViewer 会话崩溃,而且 host 可以随时再次触发,属于可重复的拒绝服务。在 Windows 上,Remedio 称他们把攻击推进了一步:绕过操作系统自带的漏洞利用防护,在 viewer 端运行自己选定的代码。这个演示有一个限定条件——host 端用了替身来提供部分攻击数据,所以它还不是一次完全通过网络完成的攻击。该结果也只在 Windows 上得到验证,macOS、Linux、Android 上是否同样可行,技术分析里没有覆盖。TeamViewer 的官方说法是,代码执行「视平台而定」可能发生。
Dar 还提到,攻击不需要密码,除了接受会话之外不需要额外点击,在 TeamViewer 的默认配置下即可生效。
影响评估
- 攻击方向反直觉,防御侧容易漏判:安全团队通常盯着「控制端是否可信」,很少有人评估「我要连过去的那台机器是否可信」。
- 场景风险集中在运维与客服:技术支持、外包运维、远程协助等场景里,viewer 往往是持有较高权限的内网主机。
- 可利用性受交互约束:必须由用户主动发起会话,不能凭空触发,但钓鱼式「帮我远程看一下」正好满足这个前提。
- 当前没有被在野利用的证据:未进入 CISA KEV,厂商发布修复时表示不知晓任何实际攻击,Remedio 也未公开利用代码。
修复建议
TeamViewer 只给出升级这一条路,公告中没有提供临时缓解措施:
- 升级到 15.83 或更高版本,包括 Windows 完整客户端、便携版、Linux/macOS 客户端与 Android 远程控制应用。
- 同一份公告 TV-2026-1011 还修了另外两个高危问题,其中一个影响 Linux 与 macOS 的代码执行;由于 Host 组件也涉及其中,只跑 Host 的机器同样需要升级。
- 同日发布的 TV-2026-1012 修复了 Remote Management 插件中的 6 个漏洞,该插件通过自动更新分发,建议核对版本是否已到位。
- 短期治理动作:收紧「谁能向我发起会话」的白名单,关闭不必要的无人值守访问,把远程协助账号从高权限账号中剥离。
- 检测思路:viewer 端出现的 TeamViewer 崩溃转储、异常子进程创建,值得作为远程协助场景的专项告警。