Vulnerabilidade no NVIDIA Container Toolkit

Pesquisadores encontram novo exploit ignorando vulnerabilidade corrigida do NVIDIA Container Toolkit

Recentemente, pesquisadores de segurança cibernética descobriram uma nova vulnerabilidade no NVIDIA Container Toolkit, identificada como CVE-2025-23359 (CVSS score: 8.3). Essa falha permite que atacantes contornem as proteções de isolamento de contêineres, obtendo acesso completo ao sistema host subjacente. A vulnerabilidade é uma variação de uma falha anterior (CVE-2024-0132, CVSS score: 9.0), corrigida pela NVIDIA em setembro de 2024, mas que agora foi contornada por meio de uma nova técnica de exploração.

Neste artigo, vamos explorar os detalhes da vulnerabilidade, seu impacto e fornecer exemplos de scripts e práticas recomendadas para mitigar riscos semelhantes.

 

O que é o CVE-2025-23359?

A vulnerabilidade CVE-2025-23359 é uma falha do tipo Time-of-Check Time-of-Use (TOCTOU) no NVIDIA Container Toolkit. Ela ocorre quando um contêiner malicioso manipula caminhos de arquivos durante operações de montagem, permitindo que o sistema de arquivos raiz do host seja montado dentro do contêiner. Isso concede ao atacante acesso a todos os arquivos do host, podendo levar a execução de código, escalação de privilégios, negação de serviço, divulgação de informações e adulteração de dados.

 

Versões afetadas:

  • NVIDIA Container Toolkit: Todas as versões  e incluindo a 1.17.3 (corrigido na versão 1.17.4).

  • NVIDIA GPU Operator: Todas as versões  e incluindo a 24.9.1 (corrigido na versão 24.9.2

 

Como a vulnerabilidade funciona

A exploração da vulnerabilidade envolve a manipulação de links simbólicos durante operações de montagem. Um contêiner malicioso pode redirecionar o caminho de montagem para fora do contêiner (ou seja, para o diretório raiz do host) e montá-lo em um caminho dentro de /usr/lib64. Embora o acesso inicial ao sistema de arquivos do host seja somente leitura, os atacantes podem contornar essa limitação interagindo com sockets Unix para criar novos contêineres privilegiados, obtendo acesso irrestrito ao sistema de arquivos.

 

 

Impacto:

  • Execução de código arbitrário no host.

  • Escalação de privilégios para obter controle total do sistema.

  • Monitoramento de tráfego de rede e depuração de processos ativos.

  • Acesso a dados confidenciais e adulteração de arquivos.

 

Exemplos de scripts para mitigação

Abaixo estão exemplos de scripts e práticas recomendadas para mitigar riscos associados ao CVE-2025-23359 e vulnerabilidades semelhantes.

 

1. Atualização do NVIDIA Container Toolkit

Certifique-se de que todas as instâncias do NVIDIA Container Toolkit estejam atualizadas para a versão 1.17.4 ou superior. Use o seguinte script para verificar e atualizar o toolkit:

 
# Verifica a versão instalada
nvidia-ctk version

# Atualiza o NVIDIA Container Toolkit
sudo apt update
sudo apt install --only-upgrade nvidia-container-toolkit

2. Desabilitar o modo de montagem insegura

A vulnerabilidade ocorre devido ao uso de montagens inseguras. Desabilite a montagem de sistemas de arquivos do host em contêineres:

 
# Crie ou edite o arquivo de configuração do Docker
sudo nano /etc/docker/daemon.json

# Adicione a seguinte configuração para desabilitar montagens inseguras
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": [
        "--no-cntlibs"
      ]
    }
  }
}

# Reinicie o Docker para aplicar as alterações
sudo systemctl restart docker

3. Monitoramento de contêineres maliciosos

Use um script Python para monitorar contêineres em busca de atividades suspeitas, como a criação de links simbólicos ou montagens de sistemas de arquivos:

 
import docker
import os

client = docker.from_env()

def check_suspicious_containers():
    for container in client.containers.list():
        mounts = container.attrs['Mounts']
        for mount in mounts:
            if mount['Source'] == '/':
                print(f"Contêiner suspeito encontrado: {container.id}")
                print(f"Montagem do sistema de arquivos raiz detectada.")
                # Tomar ação, como parar o contêiner
                container.stop()

if __name__ == "__main__":
    check_suspicious_containers()

4. Restringir acesso a sockets Unix

Limite o acesso a sockets Unix para evitar que contêineres maliciosos criem novos contêineres privilegiados:

 
# Crie um grupo para usuários autorizados
sudo groupadd docker-socket-access

# Adicione usuários ao grupo
sudo usermod -aG docker-socket-access seu_usuario

# Altere as permissões do socket Docker
sudo chown root:docker-socket-access /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock

5. Verificação de imagens de contêineres

Use ferramentas como Clair ou Anchore para verificar imagens de contêineres em busca de vulnerabilidades conhecidas antes de implantá-las:

 
# Instale o Anchore Engine
docker-compose -f docker-compose.yaml up -d

# Analise uma imagem de contêiner
anchore-cli image add sua_imagem
anchore-cli image wait sua_imagem
anchore-cli image vuln sua_imagem all

Recomendações adicionais

  • Não desabilite o --no-cntlibs:
    • A NVIDIA recomenda não desabilitar a flag --no-cntlibs em ambientes de produção. Essa flag impede o uso de bibliotecas de contêineres inseguras.

  • Use namespaces e cgroups:

    • Aplique namespaces e cgroups para isolar contêineres e limitar seu acesso a recursos do host.

  • Monitore logs de contêineres:

    • Configure ferramentas de monitoramento, como Prometheus e Grafana, para acompanhar atividades suspeitas em contêineres.

  • Implemente políticas de segurança:

    • Use ferramentas como Open Policy Agent (OPA) para aplicar políticas de segurança em tempo de execução.

 

Conclusão

A vulnerabilidade CVE-2025-23359 no NVIDIA Container Toolkit é um lembrete crítico da importância de manter software atualizado e adotar práticas de segurança proativas. Ao combinar atualizações de software, scripts de mitigação e monitoramento contínuo, as organizações podem reduzir significativamente o risco de exploração de vulnerabilidades em contêineres.

Mantenha-se vigilante, atualizado e sempre questione atividades suspeitas em seu ambiente de contêineres. Para mais detalhes, consulte a documentação oficial da NVIDIA.

 

Fonte e imagens: https://thehackernews.com/2025/02/researchers-find-new-exploit-bypassing.html