8 月 10 日消息,腾讯 OS 安全团队(Tencent Zhuque Lab)披露了 Linux 内核一项名为 SCTPhantom 的漏洞。该漏洞编号为 CVE-2026-64564,潜伏在 SCTP 网络通信功能中,已有 18 年历史——低权限本地程序可利用它获取最高系统权限,特定情况下甚至能从容器环境逃逸、直接控制宿主机。

目前 Linux 内核已发布修复补丁,涉及 6.6.148、6.12.101、6.18.42、7.1.6 及主线 7.2-rc5 等版本。
一、SCTP 是什么?为什么 18 年没人发现?
SCTP(Stream Control Transmission Protocol,流控制传输协议)是一种支持多个网络地址的传输协议。它不像 TCP 那样只能绑定一个 IP——结合动态地址重配置功能后,SCTP 可以在连接过程中新增、删除或调整正在使用的网络地址。
这个”动态改地址”能力,正是漏洞的温床。
二、漏洞原理:经典的”释放后使用”(UAF)
SCTPhantom 源于内核处理 SCTP 地址变更请求时的逻辑缺陷:
内核在检查地址删除请求和执行后续操作时,使用了不同的地址信息。
黑客如果按照特定顺序发送操作请求,会导致:
- 某个网络连接对象对应的内存已被释放;
- 但内核仍继续访问这块已释放的内存区域;
- 形成经典的 Use-After-Free(UAF,释放后使用)漏洞;
- 黑客借此读取内核数据,构造完整权限提升攻击链。
简单理解:内存被”回收”了,但内核还拿着”旧钥匙”去开门——门后面的东西已经换成了攻击者布置的数据。
三、最危险的点:容器逃逸
SCTPhantom 最值得警惕的是突破容器隔离的能力:
- Linux 容器与宿主机共享同一个内核;
- 一旦漏洞能直接影响内核安全,就可能绕过原有的容器隔离限制;
- 在测试环境中,即使保持默认 seccomp 系统调用限制、且没有额外授予容器 CAP_NET_ADMIN 或 CAP_SYS_ADMIN 权限,研究团队仍发现攻击成功率较高——8 次测试中 6 次成功获得宿主机最高权限。
翻译成大白话:云服务器上的一个容器被攻破,可能直接拖垮同一台物理机上的所有其他容器。
四、影响评估:实际攻击效果取决于什么?
研究团队强调,SCTPhantom 的实际攻击效果取决于多个因素:
| 影响因素 | 说明 |
|---|---|
| 是否启用 SCTP 功能 | 目标系统需加载 SCTP 模块(多数发行版默认未启用) |
| 容器网络能力 | 容器允许使用的网络能力配置 |
| Linux 安全策略 | seccomp、AppArmor、SELinux 等安全配置 |
| 内核版本 | 已修复版本不受影响 |
好消息:SCTP 并非默认加载的网络协议,大多数个人桌面和普通服务器默认不启用,实际攻击面有限。
坏消息:凡是跑容器、K8s、SDN、电信级网络的服务器,如果业务涉及 SCTP,就是高危目标。
五、站长/运维必做的 4 件事
① 立即升级内核
已修复版本:
| 分支 | 修复版本 |
|---|---|
| 长期支持 6.6 | 6.6.148 |
| 长期支持 6.12 | 6.12.101 |
| 6.18 | 6.18.42 |
| 7.1 | 7.1.6 |
| 主线 | 7.2-rc5 |
升级命令(Ubuntu/Debian):
sudo apt update && sudo apt upgrade linux-image-generic
sudo reboot
升级命令(CentOS/RHEL):
sudo yum update kernel -y
sudo reboot
② 不启用 SCTP 的机器:禁用模块
如果业务完全不需要 SCTP,直接禁用内核模块,彻底封死攻击面:
# 查看 SCTP 是否加载
lsmod | grep sctp
# 禁用(写入黑名单)
echo "blacklist sctp" >> /etc/modprobe.d/blacklist-sctp.conf
update-initramfs -u
reboot
③ 容器/K8s 环境:优先升级 + 加固
- 宿主机内核立即升级(容器逃逸漏洞的修复依赖宿主机);
- 容器运行时升级到最新版(Docker/containerd/K8s);
- 保持默认 seccomp 配置并启用 AppArmor/SELinux;
- 检查 K8s Pod Security 策略,禁止特权容器;
- 容器内最小权限原则:不要给 CAP_NET_ADMIN / CAP_SYS_ADMIN。
④ 监控异常提权行为
升级后持续监控:
dmesg中是否有 UAF、KASAN、Oops 相关报错;- 审计日志中是否有异常提权操作(sudo、setuid 程序调用);
- 容器是否有逃逸迹象(宿主机进程被容器内访问)。
六、写在最后
SCTPhantom 是典型的”老代码 + 新利用“漏洞——SCTP 在内核里躺了 18 年,直到腾讯朱雀实验室的深度挖掘才浮出水面。
对站长和运维来说,结论很明确:
- 默认不启用 SCTP 的服务器:禁用模块即可,风险极低;
- 跑容器/K8s 的服务器:立即升级宿主机内核,这是容器逃逸类漏洞唯一的根治手段;
- 不确定的:跑一下
lsmod | grep sctp看看模块是否加载。
内核漏洞没有”缓解”只有”升级”——不要等被利用了才后悔。
