ランタイムのバグがコンテナの壁を破り、Dockerホストでroot権限を可能に

これらの脆弱性により、攻撃者はマスクされたパス、コンソールのバインドマウント、およびリダイレクトされた書き込みを悪用して、コンテナから脱出しホストの権限を取得できます。

「runc」コンテナランタイムで新たに公開された3つの重大なバグにより、標準的な強化や分離制御にもかかわらず、攻撃者がコンテナから脱出できるようになります。

SUSEのシニアソフトウェアエンジニアでOCI理事のAleksa Sarai氏によると、これらのバグはruncが特定のprocfsファイルへの書き込みを処理する際の論理的な欠陥に起因しており、コンテナ内の攻撃者がマスクされたパス、コンソールのバインドマウント、書き込みガジェットを悪用してホスト権限を乗っ取ることができます。

「これらすべての脆弱性は最終的に(異なる方法で)runcの任意の/procファイルへの書き込み制限を回避することで、完全なコンテナ脱出を可能にします」とSarai氏はoss-secリストに投稿したアドバイザリで述べています。

Sarai氏は、これらの攻撃にはカスタムマウント構成や信頼できないイメージが必要であるものの、特にDockerやKubernetesのようなオーケストレーターで運用されているコンテナ化システムにとっては非常に現実的な脅威であると強調しました。

アドバイザリでは、ユーザーに対し、直ちにパッチ済みバージョンへアップデートするか、提供されたパッチを適用するよう呼びかけています。

マスクドパス問題:CVE-2025-31133

3つのうち最初のものは、runcにおけるマスクドパスの問題を扱っています。ここでは、コンテナランタイムがファイルをUnix系システムのデータシンクファイル「/dev/null」へのバインドマウントで置き換えます。攻撃者が代わりに/dev/nullを重要なprocfsファイル(例:/proc/sys/kernel/core_patternや/proc/sysrq-trigger)へのシンボリックリンクにできた場合、runcはそのターゲットを読み書き可能でマウントしてしまい、攻撃者にホストアクセスを与えます。

別のバリアントでは、runcは単に存在しない/dev/nullを無視して処理を続行し、「/proc/kcore」や「/proc/timer_list」などのマスクされたファイルを通じて情報漏洩が発生します。これらはいずれも機密性の高いカーネル可視インターフェースです。

Sarai氏は警告し、この攻撃は任意のホストファイルを直接マウントできるわけではないものの、完全なコンテナ脱出やホストクラッシュを引き起こすには十分な方法であると述べています。

この脆弱性はCVE-2025-31133として追跡されており、既知のすべてのruncバージョンに影響し、10点満点中7.3の深刻度評価を受けています。バージョン1.2.8、1.3.3、および1.4.0-rc.3で修正されています。

コンソールと書き込みガジェットの潜伏者:CVE-2025-52565 & CVE-2025-52881

2つ目の脆弱性はCVE-2025-52565として追跡されており、「/dev/console」のバインドマウント処理を標的としています。攻撃者はターゲットパスをシンボリックリンクに置き換えることができ、runcが誤ったターゲットをバインドマウントしてしまい、攻撃者がprocfsパスへの書き込み権限を得ることが可能となります。

CVE-2025-31133と同様に、これはpivot_root(2)の後に発生するため、ホストファイルを直接バインドマウントすることはできませんが、攻撃者はruncを騙して/proc/sys/kernel/core_patternや/proc/sysrq-triggerの読み書き可能なバインドマウントを作成させ、完全なコンテナ脱出につなげることができます」とSarai氏は述べ、バージョン1.0.0-rc3以降も脆弱であると付け加えました。

3つ目の脆弱性(CVE-2025-52881)は、攻撃者がLinuxセキュリティモジュール(LSM)、例えばSELinuxやAppArmorをバイパスし、procfsファイルへの書き込みをリダイレクトできるようにします。LSMラベルが実質的に無効化されると、ホストレベルのprocfsへの書き込みが可能となり、ホストの完全な侵害が実現します。

「我々の分析によれば、AppArmorもSELinuxもリダイレクト書き込み攻撃の完全なバージョンに対しては防御できません」とSarai氏は述べました。「コンテナランタイムは一般的に任意のprocfsファイルへの書き込みができるほど特権を持っており、これはコンテナ脱出を引き起こすには十分です。」

rootlessコンテナを利用することで、ほとんどの意図しない書き込みをブロックできるとSarai氏は付け加えました。Sysdigによる追加分析では、これら3つの脆弱性すべてについて、カスタムマウント構成でコンテナを起動できる能力が必要であり、これは信頼できないコンテナイメージやDockerfileを通じて容易に実現できると確認されています。これらの脆弱性の悪用は、不審なシンボリックリンクの挙動を監視することで検出可能であるとSysdigは述べており、そのためにSecureおよびFalcoユーザー向けに検出ルールを追加しています。 

翻訳元: https://www.csoonline.com/article/4087323/runtime-bugs-break-container-walls-enabling-root-on-docker-hosts.html

ソース: csoonline.com