CVE-2019-5736は、コアrunCコンテナコードで発見されたさらに別のLinuxの脆弱性です. runCツールは軽量であると説明されています, OpenContainerFormatのポータブル実装 (OCF) コンテナランタイムを提供します.
CVE-2019-5736技術的な詳細
セキュリティ上の欠陥は、いくつかのオープンソースコンテナ管理システムに影響を与える可能性があります. すぐに言った, この欠陥により、攻撃者は不正になります, ホストオペレーティングシステムへのルートアクセス, したがって、Linuxコンテナをエスケープします.
より専門的な用語で, 脆弱性:
攻撃者がホストのruncバイナリを上書きできるようにします (その結果、ホストルートアクセスを取得します) これらのタイプのコンテナの1つでrootとしてコマンドを実行する機能を活用する: (1) 攻撃者が制御するイメージを含む新しいコンテナ, また (2) 既存のコンテナ, 攻撃者が以前に書き込みアクセス権を持っていた, dockerexecで接続できます. これは、ファイル記述子の誤った処理が原因で発生します, / proc / self/exeに関連, で説明されているように 公式アドバイザリー.
CVE-2019-5736の脆弱性は、オープンソースのセキュリティ研究者であるAdamIwaniukとBorysPopławskiによって発掘されました。. でも, それはアレクササライによって公に開示されました, 月曜日にSUSELinuxGmbHのシニアソフトウェアエンジニアおよびrunCメンテナー.
「私はruncのメンテナーの一人です (Dockerの下にある基盤となるコンテナランタイム, cri-o, コンテナ, Kubernetes, 等々). 最近、脆弱性が報告されましたが、これを確認し、
のパッチ,」サライ 書きました.
研究者はまた、悪意のあるユーザーが任意のコマンドを実行できると述べました (コマンドが攻撃者によって制御されていないかどうかは関係ありません) これらのコンテキストのいずれかでコンテナ内のルートとして:
– 攻撃者が制御するイメージを使用して新しいコンテナを作成する.
– 取り付け (dockerexec) 攻撃者が以前に書き込みアクセス権を持っていた既存のコンテナに.
また、CVE-2019-5736はデフォルトのAppArmorポリシーによってブロックされていないことにも注意してください, または
FedoraのデフォルトのSELinuxポリシーによる[++], コンテナプロセスがcontainer_runtime_tとして実行されているように見えるため.
それにもかかわらず, この欠陥は、ホストルートがコンテナのユーザー名前空間にマップされていないユーザー名前空間を正しく使用することでブロックされます。.
CVE-2019-5736パッチと緩和策
Red Hatによると、SELinuxをターゲットエンフォーシングモードで有効にすると、この欠陥を軽減できるとのことです。, RedHatEnterpriseLinuxでデフォルトで発生する条件, CentOS, とFedora.
runCのメンテナーによってリリースされたパッチもGitHubで入手できます. runCに基づくすべてのプロジェクトは、パッチ自体を適用する必要があることに注意してください.
影響を受けるのは誰か?
DebianとUbuntuはこの脆弱性に対して脆弱です, LXCを実行しているコンテナシステムも同様です, Dockerより前のLinuxコンテナ化ツール. ApacheMesosコンテナコードも影響を受けます.
Googleなどの企業, アマゾン, Docker, とKubernetesもこの欠陥の修正をリリースしています.