觀點 · 資訊分享

Samba 爆出遠端執行指令漏洞 CVE-2026-4408:用了「密碼檢查腳本」的檔案伺服器要檢查

Samba 的 check password script 若搭配 %u 使用,客戶端送來的使用者名稱不會被正確跳脫,可能讓人遠端執行系統指令。NVD 評 9.8,Red Hat 評 9.0,影響的是非預設設定。

發布
2026-05-28
篇幅
約 3 分鐘 · 1,399 字
結構
7 節 + 3 題常見問題
標籤
#Samba#CVE-2026-4408#遠端程式碼執行#NAS#檔案伺服器
Samba 爆出遠端執行指令漏洞 CVE-2026-4408:用了「密碼檢查腳本」的檔案伺服器要檢查

一句話看懂:Samba 若設了「密碼檢查腳本」並在腳本中用 %u,連線的人只要把指令藏在使用者名稱裡,就可能在伺服器上執行指令;NVD 評為 9.8。

Samba CVE-2026-4408資訊圖卡:名稱沒跳脫,用密碼檢查腳本的 Samba 可能被遠端下指令

先用白話講:什麼是指令注入?

想像你是門口的警衛,規定是:訪客報上名字,你就大聲唸給裡面的人聽。如果有人報名字說「王小明,順便把保險箱打開」,而你一字不漏全部唸出來,裡面的人就真的去開保險箱了。

指令注入就是這種狀況:程式把使用者輸入的東西直接塞進系統指令,沒有檢查特殊符號,於是名字裡夾帶的指令也被執行了。

發生什麼事

  • CVE 編號:CVE-2026-4408,2026 年 5 月 28 日公開
  • 影響對象:Samba 檔案伺服器與傳統(classic)網域控制站
  • 問題設定:使用了 check password script,而且腳本中用了 %u(代表使用者名稱)
  • 漏洞原因:客戶端控制的使用者名稱傳進腳本時,沒有正確跳脫 shell 的特殊字元,攻擊者就能夾帶指令
  • 結果:遠端攻擊者可在系統上執行任意指令

誰會中?

條件 是否在範圍內
沒設 check password script 不在範圍內
設了腳本,但沒用 %u 依描述不在範圍內
設了腳本、用 %u,且 samba-dcerpcd 以系統服務啟動 可能受影響
Active Directory 網域控制站 Red Hat 說明不受影響

Red Hat 的說明是「這屬於非預設設定」,主要影響這類組合。

給開發者的技術細節

  • NVD 主要評分是 CVSS 3.1 的 9.8;Red Hat 給 9.0(攻擊複雜度為高,範圍為已變更)。差異來自評估時的前提不同
  • 弱點類型為 CWE-78(作業系統指令中的特殊字元未被適當處理)
  • Red Hat 的公告頁面標示嚴重度為 Important,並指出目前沒有符合它們標準的臨時緩解方式,所以以更新為主
  • 修補版本號請查 Samba 與各發行版的更新公告;NVD 的紀錄本身沒有列出
  • 自查方式:在 smb.conf 搜尋 check password script,看有沒有,以及有沒有 %u

我的看法

自架 NAS 或家用檔案伺服器的人常常會裝 Samba,網路上也有不少教學教你加上「密碼強度檢查腳本」。這類設定一旦沒有處理好輸入,反而變成入口。

我會做兩件事:一是先確認自己有沒有開這個功能,沒開就先安心;二是用了的話,等發行版的修補套件出來就更新,不要自己硬寫跳脫邏輯。另外,檔案服務最好不要直接暴露在網際網路上,放在內網或 VPN 後面,風險差很多。

名詞小辭典

  • Samba:讓 Linux 能提供 Windows 檔案分享(SMB)的軟體,很多 NAS 內建。
  • 指令注入(Command Injection):把惡意指令混在輸入裡,讓系統當成正常指令執行。
  • CVSS:漏洞嚴重度評分,0 到 10 分。
  • 跳脫(Escape):把特殊符號轉成安全的形式,避免被當成指令。

資料來源

常見問題

我家 NAS 的 Samba 會中嗎?
要先看有沒有設定 check password script,而且腳本中用了 %u。沒用這個功能的話,依 Red Hat 說明不在影響範圍內。實際設定請看 smb.conf。
為什麼是 9.8 卻說只影響非預設設定?
CVSS 分數是以漏洞本身的最糟情境估算;Red Hat 說明受影響的是非預設的設定組合,所以自己的環境要看設定有沒有符合,不能只看分數。
要怎麼處理?
更新到發行版提供的修補套件(Red Hat 已發布多筆 RHSA 公告)。Red Hat 頁面說目前沒有符合他們標準的緩解方式,所以建議直接更新;NVD 紀錄沒有列出修補版本號,請查各發行版公告。
LINE