這兩天 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

參考資料:YouTubeexploit-db.comseclists.orgredditSecurity BlogNVD