Golang MPTCP 漏洞

举报
yd_291154375 发表于 2026/11/01 11:44:20 2026/11/01
【摘要】 Go 1.24 及以上版本在 Linux 上默认启用 MPTCP 监听,这会让部分 Go 网络服务在管理员不知情的情况下暴露于一个 9.8 分的高危漏洞(CVSS 9.8)‌,该漏洞可在约 53 分钟内获取 root 权限。‌‌🔍 漏洞背景这是 Linux 内核 TCP/IP 栈中的一个 ‌use-after-free(UAF)漏洞‌,核心问题在 tcp_v4_syn_recv_sock(...

Go 1.24 及以上版本在 Linux 上默认启用 MPTCP 监听,这会让部分 Go 网络服务在管理员不知情的情况下暴露于一个 9.8 分的高危漏洞(CVSS 9.8)‌,该漏洞可在约 53 分钟内获取 root 权限。‌‌

🔍 漏洞背景
这是 Linux 内核 TCP/IP 栈中的一个 ‌use-after-free(UAF)漏洞‌,核心问题在 tcp_v4_syn_recv_sock() 函数:处理重复 SYN 包时,IP 选项未正确拷贝,多线程竞争下可能触发内存释放后使用,最终导致远程代码执行。‌

漏洞与 MPTCP 的关联来自 Anthropic 的研究描述,原始漏洞记录并未提到 MPTCP。安全厂商 Aviatrix 也提示,在完整复现攻击链之前,该路径仅作为厂商单方面研究结论参考。‌

⚠️ 影响范围
‌Linux 内核‌:需要核对版本是否在修复列内(>= 5.10.272 / 5.15.223 / 6.1.190 / 6.6.159 / 6.12.113 / 6.18.56 / 7.2.10 / 7.3)
‌Go 服务‌:从 Go 1.24 开始,只要内核支持 MPTCP,Go 在 Linux 上会为 TCP 监听器‌默认启用 MPTCP‌,这意味着很多 Go 服务可能无意中暴露了攻击面
‌普通 TCP 连接‌同样受影响,只是目前还没有公开演示过在未开 MPTCP 监听的服务器上实现远程代码执行‌‌
🛠️ 排查与缓解措施
‌核查内核版本‌:uname -r,确认是否已包含修复补丁
‌检查 MPTCP 是否启用‌:cat /proc/sys/net/mptcp/enabled(1 = 启用)
‌查看监听套接字是否为 MPTCP‌:ss -tlnp | grep -i mptcp
‌系统层关闭 MPTCP‌:sudo sysctl -w net.mptcp.enabled=0
‌Go 服务禁用 MPTCP‌:启动时加 GODEBUG=multipathtcp=0,或在 go.mod 中加 godebug multipathtcp=0‌‌

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。