
Dockerベースのエクスプロイト環境 CVE-2012-2122 MySQL/MariaDB認証バイパスの脆弱性向け。パスワード比較の欠陥を示しており、不正な認証情報でのログインを可能にします。
MariaDB/MySQL に接続する際、入力されたパスワードと期待される正しいパスワードが比較されます。不適切な処理により、memcmp() が非ゼロを返した場合でも、MySQL は両方のパスワードが同一であると見なします。つまり、ユーザー名さえ分かれば、繰り返し試行することで SQL データベースに直接ログインできます。
影響を受けるバージョン:
参考リンク:
テストの結果、本環境はコンテナ内で動作しますが、脆弱性が再現可能かどうかはホストマシンにも依存します。ホストには Ubuntu または Mac システムを推奨しますが、必ず成功するとは限りません。Issue でさらなるテスト結果をお寄せください。
以下のコマンドを実行してテスト環境を起動します。
docker-compose up -d
環境起動後、Mysql サービス(バージョン 5.5.23)が起動し、3306 ポートをリッスンします。通常の Mysql クライアントを使用して直接ログインでき、正しい root パスワードは 123456 です。
環境の正しいパスワードが分からない場合、bash で以下のコマンドを実行すると、一定回数の試行後にログインに成功します。
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

さらなるテストおよび利用方法については、参考リンクを参照してください。