這兩天 Bash Shell 被發現有一個嚴重的漏洞,可以讓一般使用者輕易取得管理者權限,這會讓大部份的 Linux 與 Mac OS X 系統都有被入侵的高風險。
在今年 4 月初爆發的 HeartBleed Bug 在當時造成了很大的風波,不過現在 Bash Shell 又出了一個更嚴重的大漏洞,這個漏洞可以讓一般使用者在 Bash 指令設定環境變數時,可以越過權限檢查,直接執行夾帶的命令,駭客可以利用這樣的方式輕易取得主機的管理者(root)權限,非常危險。
由於目前幾乎所有的 Linux 與 Mac OS X 都是使用 Bash 作為預設的 Shell,所以這項漏洞所影響的範圍會非常大,基本上可以說所有的 Linux 與 Mac OS X 都會有影響,如果您有任何 Linux 或是 Mac OS X 的主機,請立即進行修補。
Linux 修補方式
如果是 Debian/Ubuntu/Mint Linux,則執行:
sudo apt-get update sudo apt-get upgrade
如果是 RHEL/CentOS/Fedora,則執行:
sudo yum check-update sudo yum update
Mac OS X
Apple 官方已經釋出新的修補程式,請參考這裡。
檢測方式
在終端機的 Bash Shell 中,執行:
x='() { :;}; echo vulnerable' bash -c "echo this is a test"
如果有漏洞存在,就會出現:
vulnerable
this is a test
而如果漏洞已經修補完成,則會出現:
bash: warning: x: ignoring function definition attempt
bash: 錯誤,輸入的函數定義為 `x’
this is a test
參考資料:YouTube、exploit-db.com、seclists.org、reddit、Security Blog、NVD