Kazakiri_Hikaru 26-04-08 23:37

搬条欢乐 NEWS:

photon.codes/blog/we-found-a-ticking-time-bomb-in-macos-tcp-networking

鸡饭标题:
《我们在macOS TCP网络中发现了一个定时炸弹——它在整整49天后爆炸》

鸡饭序言:
每台Mac都有隐藏的有效期。在整整49天17小时2分47秒连续运行后,苹果XNU内核中出现32位无符号整数溢出,导致内部TCP时间戳时钟冻结。一旦冻结,TIME_WAIT连接永不失效,临时端口会逐渐耗尽,最终无法建立新的TCP连接。ICMP(ping)还能正常工作。其他一切都死了。大多数人唯一知道的解决办法就是重启。我们在iMessage服务监控群中发现了这个漏洞,并在两台机器上实时重现,并追溯根源于XNU内核源中的一次对比。这就是全部故事。

这个漏洞特别危险的是它不会发出很大声的故障。没有内核恐慌,没有错误日志,也没有崩溃报告。系统看起来完全健康——直到TCP停止工作。

影响评估:谁受影响?
任何满足这两种条件的macOS系统:
1.连续运行时间超过49天17小时且未重启
2.任何TCP网络活动(基本上所有联网Mac)

大多数消费级Mac会在49天内因系统更新重启,所以普通用户很少触发这种情况。但这些情景风险较高:
1.长期运行的服务器群(比如我们的iMessage监控设置)
2.macOS CI/CD BUILD SERVER(Jenkins,GitHub Actions 自托管运行者)
3.Mac Pro 工作站(长期运行的渲染、编译或模拟)
4.托管Mac(远程管理,很少重启)
5.Mac mini 集群用作构建农场或测试基础设施

> 鸡饭结束,原文链接在上,全文鸡饭不便不如自己看,总结的话看下面来自少数派这个截图:

Windows 也有类似的 bug,但是得追朔到 Win9x 时期(看意思 NT 内核就没了,
所以说别笑 Windows 是 Mt.Shit,你 macOS 也逃不了。
题外话,Linux 7.1 好像说要移除 486 的支持了,这啥,三座 Mt.Shit(

发布于 广东