Linux系統爆出重大資安漏洞!遠端登入軟體OpenSSH於11月5日緊急釋出更新,修補一個名為「*sshole」的漏洞(CVE-2026-123158)。駭客不需要知道帳號密碼,只要在登入時連續輸入257個以上的英文字母,例如連打300個A,就可能繞過密碼驗證、直接登入伺服器,甚至取得最高管理權限。
不過,並非所有Linux系統都受到影響。這次漏洞主要出現在使用Alpine Linux等特定系統、且符合特定設定條件的伺服器,一般民眾使用的Windows、Mac電腦不受影響,Ubuntu、Debian、Fedora等主流Linux系統也不受影響。使用Alpine Linux架設雲端主機、伺服器或相關設備的企業,則需要確認是否受到影響並盡快更新。
哪些Linux伺服器有風險?符合3個條件就可能遭駭
這次漏洞並非所有Linux伺服器都會遇到,駭客要成功入侵,除了伺服器必須開啟SSH遠端登入服務、能從外部連線,還需要同時符合以下3個條件:
- 使用Alpine Linux等特定系統:這類系統採用名為musl的底層元件,常見於雲端伺服器、Docker容器及部分網路設備。如果改用PAM進行登入驗證,就不受這次漏洞影響。
- 允許使用密碼遠端登入:伺服器必須開啟SSH密碼登入功能,這也是OpenSSH的預設設定。
- 同時存在兩種帳號:一種是禁止使用密碼登入、只能透過金鑰等方式登入的帳號;另一種則是已設定密碼的一般帳號,而且密碼採用特定格式儲存。只要兩種帳號同時存在,駭客就可能利用漏洞登入原本禁止使用密碼的帳號。
只要符合上述條件,駭客就不必猜出真正的密碼,而是可能透過輸入超長密碼,直接繞過驗證。
其中,使用Alpine Linux架設的雲端主機尤其需要留意。 Alpine在AWS、Azure等雲端平台提供的部分系統範本,預先設有名為「alpine」的帳號。這個帳號原本不能使用密碼登入,卻可能在登入後取得最高管理權限。
這類雲端主機剛建立時,不一定會受到漏洞影響。但如果管理員後來替其他帳號設定密碼,就可能讓原本安全的設定變成有風險的組合。
根據國際通用漏洞評分系統(CVSS),「*sshole」獲得8.1分(滿分10分),屬於高風險漏洞。截至11月5日,美國網路安全暨基礎設施安全局(CISA)已將其列為有公開攻擊示範程式的漏洞,但尚未確認有實際遭駭客利用的案例。
輸入257個字元就能登入?漏洞原理是什麼?
正常情況下,當使用者輸入密碼,Linux系統會先將密碼轉換成一串加密後的字元,再與系統儲存的資料比對,確認正確才能登入。
但有些帳號原本就禁止使用密碼登入,系統會在密碼欄位標記一個星號「*」,代表不接受密碼驗證。
但,問題就出在這個星號。
Alpine Linux使用的musl元件有一項限制:當輸入的密碼超過256位元組,相當於256個英文字母時,系統就無法正常處理,並回傳一個星號「*」,表示密碼驗證過程發生錯誤。
偏偏這個代表「驗證失敗」的星號,與禁止使用密碼登入的帳號所使用的星號完全相同。
因此,在符合特定條件的伺服器上,駭客只要輸入257個以上的英文字母,系統就可能把兩個星號誤判為密碼相符,讓原本不允許使用密碼登入的帳號通過驗證。
這也是為什麼駭客不需要知道真正的密碼,甚至不必反覆猜測,就可能成功登入伺服器。
這個破洞,是三個各自合理的決定疊出來的:
2012年,musl:為了避免程式當機,規定算不出指紋時一律交出星號;同時為了防止有人用超長密碼拖垮伺服器,設下256位元組的長度上限。
2016年,OpenSSH:為了不讓駭客從回應快慢猜出哪些帳號存在,遇到沒有指紋可比的帳號,會借用另一個帳號的設定照算一遍。這套做法原本是為不存在的帳號設計,卻也套用到卡上畫星號的真實帳號,這正是「機器上必須另有一個設了密碼的帳號」這個條件的由來。
2022年,Alpine:為了讓管理員能用金鑰登入,把最高權限帳號root的密碼欄從另一種封鎖符號「!」改成星號,root的密碼欄從此預設就是星號。
OpenSSH在新版中讓登入程式不再拿過短、不可能是真指紋的存檔內容(例如星號)去比對,擋下了這個誤判。OpenSSH團隊在發布說明中表示,問題根源不在自家軟體,但既然漏洞經由OpenSSH被利用,就在這一端擋下。
漏洞藏了10年沒人發現,AI如何找出問題?
這個漏洞存在約10年,為什麼直到現在才被發現?
發現漏洞的資安公司Wakefield研究員Özgün Kültekin在漏洞說明網站指出,OpenSSH過去主要在常見的Linux系統及OpenBSD環境進行安全測試,較少針對Alpine Linux使用的musl元件進行驗證。加上多數Linux系統採用另一套密碼驗證機制PAM,因此一直沒有發現這個問題。
Kültekin透露,就在漏洞被發現的4天前,OpenSSH才剛完成一次安全審查,當時修改的程式碼,距離這次出問題的位置只有4行。
這次能找到漏洞,關鍵在於AI協助進行大量測試。
Kültekin利用多個AI代理,針對OpenSSH在不同系統環境下的運作方式進行測試,每個版本執行約17,600次異常登入嘗試,包括輸入超長密碼、使用特殊帳號設定等。
結果發現,當OpenSSH搭配musl元件,而且沒有使用PAM驗證時,原本應該被拒絕的登入請求,竟然成功通過。這正是Alpine Linux預設會使用的組合。
OpenSSH團隊也注意到AI帶來的變化。根據10月及11月的版本公告,近期收到大量透過AI發現或協助分析的漏洞回報,雖然部分問題在實際使用時不構成安全威脅,但也有一些漏洞被不同研究人員先後發現。
OpenSSH團隊擔心,既然AI能協助資安研究人員找到漏洞,駭客也可能利用相同技術發現尚未修補的問題,因此決定暫時加快軟體更新頻率。
資安公司OX Security也指出,AI降低了大規模安全測試的門檻,未來可能有更多存在多年的軟體漏洞被挖掘出來。
如何防範「*sshole」漏洞?企業IT應做4件事
一般Windows、Mac使用者不需要特別處理。但如果企業使用Alpine Linux架設伺服器、雲端主機,或有其他採用musl元件的設備,就應請IT人員確認是否開啟SSH遠端登入服務,並採取以下4項措施:
-
立即更新OpenSSH,並重新啟動服務:Alpine Linux已針對受影響版本提供安全更新。要注意的是,安裝更新後還必須重新啟動SSH服務,才能確保修補生效。
-
無法立即更新,先關閉密碼登入功能:暫時改用金鑰登入,避免駭客利用超長密碼繞過驗證。不過,關閉前務必確認金鑰可以正常登入,以免管理員自己也無法連線。
-
更新雲端主機及容器使用的系統映像檔:如果企業使用舊版Alpine Linux映像檔建立新伺服器,仍可能再次暴露於漏洞風險。目前Alpine 3.22.8、3.23.8、3.24.4及更新版本已包含修補。
-
檢查伺服器是否出現異常登入:IT人員應查看登入紀錄,確認原本禁止使用密碼登入的帳號,是否曾出現密碼驗證成功的情況。如果發現可疑紀錄,應進一步調查是否遭到入侵。
詳細更新方式及操作指令,可參考Alpine Linux官方安全公告。
資安公司OX Security也提醒,網路上可能出現宣稱能檢測「*sshole」漏洞的工具,企業應避免下載來源不明的程式,優先使用官方提供的安全更新。
資料來源:sshhole.com、OX Security部落格、OpenSSH 10.6p2發布說明、Alpine Linux安全公告、CVE-2026-123158紀錄、Wakefield官網
本文初稿為AI編撰,整理.編輯/ 李先泰
