2026 年 8 月 6 日,腾讯朱雀实验室联合 TencentOS 安全团队发布技术分析,披露 Linux 内核 SCTP 协议栈中存在一个编号为 CVE-2026-64564、代号 “SCTPhantom” 的高危本地权限提升漏洞。该漏洞源自 SCTP 动态地址重配置(RFC 5061)功能,sctp_process_asconf_param() 在处理 ASCONF DEL-IP 参数时未对 asconf->transport 做有效性保护,致使后续通配符分支重用悬空指针触发释放后使用(UAF),自 Linux kernel v2.6.25 起历经 18 年未被发现,影响 6.x 主流版本以及 Debian、Ubuntu、TencentOS Server 多个长期支持分支。
事件概述
该漏洞由 TencentOS 安全团队自研的 Corvus AI 多 Agent 漏洞研究流水线在一次针对 SCTP 协议栈的结构化分析中首次发现,并由研究员推进为可在 Debian 13、Ubuntu 24.04、Rocky Linux 9、OpenCloudOS、TencentOS Server 多个版本上稳定复现的完整本地提权与容器到宿主机逃逸利用链。Linux 上游已通过 6 行修复(提交 9b2854f86f0b)关闭身份不一致缺陷,修复版本包括 6.6.148、6.12.101、6.18.42、7.1.6 及 mainline 7.2-rc5。TencentOS Server 2.4、3.1、3.2、3.3、4.4、4.5 等 TencentOS 长期支持分支的安全补丁也已经发布。
技术细节
SCTP 在内核中以 struct sctp_association 表示一次 association,内部 peer.transport_addr_list 链表承载多宿主路径对象 struct sctp_transport,而 peer.primary_path 与 peer.active_path 缓存指向上述 transport。RFC 5061 加入 ASCONF 动态地址重配置后,sctp_process_asconf() 会按报文顺序依次解析 Address Parameter 与 ADD-IP / DEL-IP / SET-PRIMARY 等操作。漏洞根因在于:DEL-IP 的合法性校验仅基于数据包 IPv4 源地址 S,而后续重用 transport 时却根据 Address Parameter L 选取。二者不一致时,攻击者可在同一 ASCONF chunk 中按以下顺序执行:
- [Address Parameter L][DEL-IP L]:因 S 与 L 不同,DEL-IP 检查通过,触发
asconf->transport指向的 transport 被释放。 - [DEL-IP 0.0.0.0]:通配符分支
sctp_assoc_del_nonprimary_peers()与sctp_assoc_set_primary()复用了上述已释放的悬空指针。 - 后续 socket 操作:触发内核内存释放后使用,可造成内核 panic、信息泄露或权限提升。
Corvus AI 进一步构造了如下完整利用链:SCTP transport UAF → 重新分配 page vec 进行内核直接映射页信息泄露 → 重复 4 字节内核读取 → 通过 IDT 恢复 KASLR → 第二次 UAF 被 SCTP authentication-key 数据占用形成可控内核对象图 → 数据导向方式调用 commit_creds() → 拿到全局 root → usermode-helper 变种成功逃逸至宿主机。在默认 seccomp profile 且未授予容器 CAP_NET_ADMIN 或 CAP_SYS_ADMIN 的环境下,逃逸过程仍然成立。
影响评估
该漏洞影响从 Linux 2.6.25 至当前 6.x 主线的几乎全部版本。受影响厂商内核包括但不限于 TencentOS Server 2.4 / 3.1 / 3.2 / 3.3 / 4.4 / 4.5、Debian 11 / 12 / 13 / 14、Ubuntu 24.04 LTS 等。利用复杂度需要本地权限与 SCTP 模块加载条件,但容器、Kubernetes Pod、CI worker、研发跳板机等场景天然满足前置条件。一旦被攻陷,攻击者可拿到 root 并借助容器共享内核的特性逃逸至宿主机;与企业常见 Pod 默认开放 SCTP 模块加载、默认未限制 packet socket 的现实情况叠加,整体风险等级为”高”。
修复建议
- 升级内核:升级到上游修复版本 6.6.148 / 6.12.101 / 6.18.42 / 7.1.6 / mainline 7.2-rc5,或厂商 backport 分支对应的安全内核;TencentOS Server 用户执行
yum update kernel -y && reboot后用uname -r确认生效。 - 临时缓解:如业务允许禁用 SCTP,可执行
sh -c "printf 'install sctp /bin/false\n' > /etc/modprobe.d/block-CVE-2026-64564.conf; rmmod sctp 2>/dev/null; true"阻断模块加载;lsmod | grep sctp输出应为空以确认缓解生效。 - 容器加固:借助 seccomp/AppArmor 限制
AF_SCTP与CAP_NET_*权限,禁止业务无关容器加载 SCTP 与 packet socket;并审慎评估是否保留network_mode: host的 Pod。 - 应急响应:对 2026 年 7 月 23 日(patch 合入上游)以来的容器宿主机日志进行回溯,重点检查
sctp_process_asconf相关 panic 与异常 socket 调用。