背景
素直に AMI を利用している場合は sudo yum -y update bash
で bash のアップデートができます。
が、2014-09-27 現在、Elastic Beanstalk 上のインスタンスが参照しているリポジトリにはまだ Shellshock に対応した最新版の bash が配置されていないようです。
対応
手動で対応します。
Amazon Linux 2013.09
sudo yum install -y http://packages.us-east-1.amazonaws.com/2013.09/updates/556c442ced2f/x86_64/Packages/bash-4.1.2-15.18.20.amzn1.x86_64.rpm
Amazon Linux 2014.03
sudo yum install -y http://packages.us-east-1.amazonaws.com/2014.03/updates/e10f5b547e18/x86_64/Packages/bash-4.1.2-15.19.amzn1.x86_64.rpm
動作確認
以下のように出力されれば OK。vulnerable が表示されたら NG。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test