web-dev-qa-db-ja.com

CVE-2016-0728はDockerに影響を及ぼしますか?

私は今日、Dockerとシステムのセキュリティについて話し合うことになり、最新の CVE-2016-0728 エクスプロイト(特権の昇格)がDockerコンテナーにも影響を与えることを自問するようになりました。

Dockerはシステムカーネル(脆弱である可能性があります)を利用しますが、ユーザー(ユーザー自身の小さなスペース内のroot)を隔離します。私の質問は次のとおりです。

  • CVE-2016-0728はDockerインスタンスに影響しますか?
  • コンテナー内のユーザーはCVE-2016-0728を使用してコンテナーから抜け出すことができますか?
17

これは、コードがより高い特権ユーザーとして「のみ」実行される特権昇格ではありません。この問題は、Linuxカーネル内のコードの実行に関するものです。つまり、すべてのdockerインスタンスと、dockerインスタンスを含むOSの間で共有されるカーネルです。これは、取得できる最高の特権であり、このレベルでは、あらゆる種類の制限を回避できます。これは、この攻撃を実行できる特権のないユーザーがコンテナから抜け出す可能性があることを意味します。

15
Steffen Ullrich

まず第一に、はい。カーネルがキーリングをサポートしている場合、dockerはその使用を防止しません。つまり、悪用を防止しません。

しかし、Dockerコンテナがnotセキュリティコンテナであることは注目に値します。それらはある程度のセキュリティを提供できますが、実際には提供しますが、それは目的ではなく、悪意のあるコードの仮想化と互換性のない設計決定が行われました。分離はその上のレイヤーで発生する必要があります。

2
tylerl

Docker 1.10以降では、keyctlシステムコールがデフォルトのseccompフィルターによってブロックされるため、これはデフォルトのインストールでは機能しないという答えがあります。

2
Rory McCune