macOS驚爆時間炸彈漏洞!超過49.7天不關機瞬間斷網原因曝光


Mac 電腦長時間不關機,對多數使用者而言是常態,但對於將 Mac 作為伺服器來說暗藏風險,近期外媒指出,macOS 存在一項潛在的系統層級「時間炸彈」漏洞,只要 Mac 長時間連續運作達約 49.7 天後,可能出現網路功能全面失效的情況,背後原因直指 TCP/IP 堆疊中的整數溢位問題有極大關聯,目前唯一可行的應對方式仍是重新開機。

macOS驚爆時間炸彈漏洞!超過49.7天不關機瞬間斷網原因曝光

Photon解析造成macOS系統49.7天後斷網失效原因

根據《Tom’s Hardware》報導,儘管 macOS 源自 Unix 架構,但並非針對長時間無人值守運行所設計,一旦系統連續運作達 49 天 17 小時 2 分 47 秒,會造成 TCP/IP 網路協定堆疊可能發生異常,導致多項核心網路功能停止運作。

在正常設計下,macOS 作業系統會定期清理已關閉的 TCP 連線,但當 tcp_now 發生溢位並卡在錯誤狀態時,系統在判斷連線是否過期時會持續出錯,導致已失效的連線無法被移除、暫時連接埠被持續占用和TCP/IP 堆疊逐步耗盡可用資源,當所有可用連接埠被占滿後,系統將無法建立任何新連線,網路功能形同完全癱瘓。

受影響的 Mac 仍可能回應 ping 測試,但已無法建立新的網路連線,形同半失能狀態,使問題更難即時察覺與診斷。

mac mini m4 unboxing a13

此問題主要是由 Photon 團隊率先在監控 iMessage 服務的 Mac 伺服器群中發現,受影響設備會突然停止回應新的連線請求,但仍可正常回應 ping。

研究人員將原因鎖定在典型「整數溢位」,與早年 Windows 95/98 出現的 49.7 天當機案例高度相似,以及著名的「2038 年問題」屬於同類型。雖然 RFC 7323 已明確規範 TCP 時間戳在達到上限時的處理方式,但目前 macOS 核心的實作並未完全遵循該標準,進而導致錯誤發生。

macOS定時炸彈漏洞核心:與 32 位元時間計數翻轉有關

在底層實作中,系統會以毫秒為單位,持續記錄自開機以來的時間。該數值通常以 32 位元整數 儲存,其最大值約為 4,294,967,295,當系統運行時間達到約 49.7 天時,這個數值會達上限並發生「回繞」,也就是歸零重新計算。

若程式未正確處理這種翻轉情況,而仍以一般大於/小於邏輯比較時間先後,就會導致判斷錯誤,結果會出現系統誤判連線狀態、網路封包處理邏輯失效和TCP/IP 堆疊逐步停止運作,最終使整體網路功能陷入停擺。

apple macos ventura 13 3 releases

為何現在才浮現?主要Mac長時間運行場景增加

對多數 MacBook 使用者而言,這項問題影響相對有限,原因在於日常使用會定期關機或重開和系統更新也常觸發重新啟動。

隨著越來越多人將 Mac mini、Mac Studio 或 Mac 設備作為長時間運行的用途(例如伺服器、監控節點或特定自動化任務),像是有很多人開始用 Mac mini 養龍蝦,導致設備可能數月不重開機,反而「49.7 天門檻」更容易穩定觸發這個時間炸彈。

openclaw logo

暫無官方回應,需等待macOS核心更新修復

目前所有已知最新 macOS 皆可能受到影響,而 Apple 尚未對此問題做出正式回應,在修補方案尚未推出前,唯一有效的臨時對策仍是重新開機。若未採取預防措施,隨著系統運行時間逼近臨界點,網路功能崩潰幾乎不可避免。

隨著越來越多使用者將 Mac mini 等設備應用於伺服器與長時間運行場景,在蘋果尚未釋出更新前,就只能定期重開機與監控系統 uptime,後續依賴 Apple 修正核心邏輯,才能確保 macOS 能在跨越 49.7 天的運行週期後,仍維持穩定的網路運作能力。

想了解更多Apple資訊、iPhone教學和3C資訊技巧,歡迎追蹤 瘋先生FB粉絲團訂閱瘋先生Google新聞TelegramInstagram以及 訂閱瘋先生YouTube
返回頂端