
根據 Photon 公開的技術報告,問題源自 Apple XNU 核心內部用來追蹤 TCP 時間的 tcp_now 計數機制。該計數器為 32 位元無符號整數,當數值累積至 4,294,967,295 毫秒後便會溢位,換算後正好約為 49.7 日。計數器失效後,macOS 在處理舊有 TCP 連線逾時與釋放資源時便會出現異常。
報告指出,這個情況不會令整部 Mac 立即當機,已建立的網絡連線亦可能暫時維持正常,系統對 ping 等基本回應也未必受影響。不過,因為原本應該結束的連線沒有被正確清理,系統會持續堆積大量連線狀態,CPU 使用率亦可能逐步上升;當可用連接埠被耗盡後,新的網站連線、SSH、API 請求或其他依賴 TCP 的服務便可能無法再啟動。
Advertisement
這次問題影響的不只是 MacBook,使用 macOS 的 iMac、Mac mini 等裝置同樣有機會中招,尤其是長時間不重開、持續運作的裝置,風險相對更高。現階段公開資訊顯示,重新啟動電腦可暫時重設計時並恢復正常,但 Apple 暫未公開推出官方修正更新。
Photon 表示,這個問題是在其機器群中觀察到異常後追查得出,並已將根因指向 macOS TCP 網絡堆疊的時間處理邏輯。若用戶發現 Mac 長時間未重開後,部分網站打不開、某些 App 無法連網,但系統本身仍可操作,今次這個 49.7 日漏洞或許正是原因之一。
