env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
【漏洞描述】
該漏洞源于你調(diào)用的bash shell之前創(chuàng)建的特殊的環(huán)境變量,這些變量可以包含代碼,同時會被bash執(zhí)行。
【漏洞檢測方法】
修復(fù)前
輸出:
vulnerable
this is a test
使用修補方案修復(fù)后
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
特別提示:該修復(fù)不會有任何影響,如果您的腳本使用以上方式定義環(huán)境變量,修復(fù)后您的腳本執(zhí)行會報錯。
【建議修補方案 】
請您根據(jù)Linux版本選擇您需要修復(fù)的命令, 為了防止意外情況發(fā)生,建議您執(zhí)行命令前先對Linux服務(wù)器系統(tǒng)盤打個快照,如果萬一出現(xiàn)升級影響您服務(wù)器使用情況,可以通過回滾系統(tǒng)盤快照解決。
centos:
yum -y update bash
ubuntu:
14.04 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.3-7ubuntu1.1_amd64.deb && dpkg -i bash_4.3-7ubuntu1.1_amd64.deb
14.04 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.3-7ubuntu1.1_i386.deb && dpkg -i bash_4.3-7ubuntu1.1_i386.deb
12.04 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.2-2ubuntu2.2_amd64.deb && dpkg -i bash_4.2-2ubuntu2.2_amd64.deb
12.04 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.2-2ubuntu2.2_i386.deb && dpkg -i bash_4.2-2ubuntu2.2_i386.deb
10.10 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.1-2ubuntu3.1_amd64.deb && dpkg -i bash_4.1-2ubuntu3.1_amd64.deb
10.10 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.1-2ubuntu3.1_i386.deb && dpkg -i bash_4.1-2ubuntu3.1_i386.deb
debian:
7.5 64bit && 32bit
apt-get -y install --only-upgrade bash
6.0.x 64bit
wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3%2bdeb6u1_amd64.deb && dpkg -i bash_4.1-3+deb6u1_amd64.deb
6.0.x 32bit
wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3%2bdeb6u1_i386.deb && dpkg -i bash_4.1-3+deb6u1_i386.deb
opensuse:
13.1 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.x86_64.rpm && rpm -Uvh bash-4.2-68.4.1.x86_64.rpm
13.1 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.i586.rpm && rpm -Uvh bash-4.2-68.4.1.i586.rpm