OpenVZの脆弱性(CVE-2015-2925 bind mount/simfsコンテナからの脱出)について

日本語の情報が無かったようなのでメモ。

2015年4月にbind mountによるコンテナ脱出に利用可能な脆弱性 CVE-2015-2925 が公表され、OpenVZもカーネルパッチを二ヶ月遅れながら出しています。

念のため、これは一年前(2014年6月)に公開された CVE-2014-3519 と同様にコンテナ脱出可能な脆弱性ですが別件です。前回はopen_by_handleのコンテナ対応漏れでしたが、今回はbind mountからのトラバーサルでの脱出を利用したものです。

この脆弱性を悪用するとコンテナ外のファイルシステムにアクセスできるため、同一マシン上の他のコンテナやホストシステム自体をも操作できる場合があり、最近影響範囲の広さから話題となったVENOM脆弱性同様にクリティカルな脆弱性となりえます。

なお、この脆弱性はLXCのようにbind mountを利用可能なLinuxコンテナ全てに影響しますが、OpenVZ以外では第三者に特権プロセスを利用させること(VPSとしての供用)を意図していないため、影響範囲は小さいものと思われます。

対策状況

すでに最初のPoCの公開から約3ヶ月経過しているため、多くのホスティング事業者は対策済みと思われます。

私が利用している海外の事業者では、カーネルのアップデートやライブパッチの適用により、遅くともOpenVZ側の公式アップデート配布直後に対応を済ませていました。

一方で、国内のVPSホスティング事業者でいまだパッチが未適用のところがあるようです。

利用者側に必要な対応

OpenVZとsimfsによるVPSを利用している場合、コンテナ内のファイルに近隣ユーザーがアクセスした可能性があります。

コンテナ内から不正にアクセスされた事を事後にチェックする手段はatimeを監視するくらいしか無いため、対策が済んだ後にシステムをクリーンインストールして秘密鍵等は再生成したほうが良さそうです。 最低限ウイルスチェックなどで不正なプログラムが動いていないかはチェックしたほうがよいでしょう。