Voltar as noticias
A comparação de diretórios permitidos
Compartilhar
MCP ProtocolMediaEN

A comparação de diretórios permitidos

Fonte original: Dev.to - MCP·13 de setembro de 2026

Curadoria, tradução e análise: Redação Triplo Hub.

Agora há informações públicas suficientes sobre a segurança do sistema de arquivos MCP para parar de adivinhar e começar a ler. Eu passei por isso. Os casos são mais semelhantes entre si do que eu esperava, e o padrão vale a pena ser nomeado.

O registro até agora

EscapeRoute — O próprio servidor de arquivos MCP da Anthropic. Dois CVEs, ambos em todas as versões anteriores ao npm 2025.7.1. Encontrado em 30 de março de 2025, corrigido em 1 de julho de 2025.

CVE-2025-53110 (CVSS 7.3) é uma violação de contenção de diretório. O servidor verificou se um caminho solicitado começava com um diretório aprovado. Se /private/tmp/allow_dir fosse aprovado, então /private/tmp/allow_dir_sensitive_credentials também passava — diretório diferente, mesmo prefixo. Listar, ler e escrever fora do limite.

CVE-2025-53109 (CVSS 8.4) é pior. A validação de symlink verificou o diretório pai do link em vez do que o link realmente apontava. Encadeie isso com o primeiro bug e você obtém leituras e gravações arbitrárias — /etc/sudoers foi o exemplo publicado — e execução de código através dos Agentes de Inicialização do macOS.

CVE-2026-40576 — excel-mcp-server, versões até 0.1.7, CVSS 9.4, publicado em 21 de abril de 2026. Traversal de caminho. get_excel_path() não validou caminhos absolutos nem resolveu sequências ../. Em modo de transporte SSE ou HTTP, isso significava leitura, gravação e sobrescrita de arquivos arbitrários não autenticados. Corrigido em 0.1.8.

DuneSlide — CVE-2026-50548 e 50549, CVSS 9.8, no sandbox de terminal da Cursor: validação do parâmetro working-directory mais falhas de canonização de symlink.

E os números agregados, para escala. A Endor Labs analisou 2.614 implementações do MCP e encontrou 82% usam operações de arquivos propensas a traversal de caminho. A varredura da OX Security em abril de 2026 encontrou 7.000 servidores MCP acessíveis a partir da internet aberta. Em julho de 2026, havia 14 CVEs atribuídos a implementações do MCP.

A coisa que eles têm em comum

Leia as causas raízes lado a lado:

  • um caminho que começa com a string permitida
  • um symlink cujo pai está dentro do limite
  • um caminho com ../ que nunca foi resolvido antes da verificação
  • um parâmetro de diretório de trabalho que foi validado, mas não canonizado

Em cada caso, o limite existia. Ele foi verificado. A verificação foi executada e retornou "permitido". O limite era uma comparação entre duas peças de texto, e o ataque era produzir texto que passasse pela comparação enquanto apontava para outro lugar.

Esta não é uma nova classe de bug. A traversal de caminho é mais antiga do que a maioria das pessoas que lêem isso. O que é novo é onde ela se encontra: entre um modelo de linguagem e um sistema de arquivos, em um componente que foi adicionado precisamente para ser a camada de segurança.

Por que "conceder um diretório" torna isso pior do que precisa ser

O modelo dominante é: entregar ao servidor um ou mais caminhos de diretório, tudo sob eles é um jogo justo. Esse design tem duas propriedades que transformam um bug de caminho em um dia ruim.

A unidade é grande. Um diretório de projeto contém milhares de arquivos. Se o limite falhar, tudo dentro é exposto de uma vez — além, no caso do EscapeRoute, de qualquer coisa que o symlink apontava.

O padrão é permitir. Dentro da árvore concedida, a permissão é implícita. Nada precisa ser decidido para que um arquivo seja legível; ele apenas precisa estar lá. Portanto, a correção de todo o arranjo depende de uma única comparação de string estar correta, toda vez, para cada entrada que alguém possa construir.

Um modelo por arquivo não corrige magicamente a resolução de caminho. Qualquer implementação que transforme uma solicitação em um arquivo no disco pode errar, a minha incluída. O que muda é o custo de um erro. Se cada arquivo carrega seu próprio nível e o padrão é negar, um caminho que escorrega pela verificação ainda precisa aterrissar em algo que foi explicitamente concedido. O raio de explosão de um bug de resolução é a diferença entre "um arquivo que o usuário já havia aberto" e "a árvore, e qualquer coisa que um symlink nela aponte".

Essa é uma afirmação menor do que "estamos seguros". É a mais honesta.

O que isso não resolve

Vale a pena afirmar, porque metade das postagens sobre este tópico param antes desta parte:

  • Não impede bugs de resolução de caminho. Ele os limita.
  • Não faz nada sobre os dados que você concedeu. Se um arquivo é legível e o assistente também pode enviar e-mails ou fazer solicitações, esse arquivo pode sair. Conceda de forma restrita.
  • Não cobre outras portas. Um segundo conector de sistema de arquivos, ou uma ferramenta de shell, não é governado por uma camada pela qual nunca passa.
  • Não é um substituto para correção. Cada CVE acima foi corrigido. Atualize seus servidores.

A leitura prática

Se você executar um servidor de sistema de arquivos MCP hoje, três coisas valem uma tarde:

  1. Verifique suas versões em relação aos CVEs acima. O da Anthropic está corrigido em 2025.7.1; o excel-mcp-server em 0.1.8.
  2. Descubra se seu limite é uma comparação de string ou uma resolução. Se o código faz path.startsWith(allowedDir) em qualquer lugar, você tem a classe de bugs do EscapeRoute em sua pilha, corrigida ou não.
  3. Veja o que realmente está dentro de seus diretórios concedidos. A maioria das pessoas concede uma pasta de projeto e esquece que ela contém .env, .git, credenciais, dados de clientes e uma ou duas chaves SSH.

A terceira custa nada e geralmente é a mais alarmante.

Divulgação: Eu construo Kobel, um gateway de permissão de desktop para Windows e macOS que aplica níveis por arquivo em vez de concessões de diretório — que é por isso que eu li este registro de perto, e por que a seção "o que isso não resolve" acima não é uma formalidade. Sua documentação, incluindo o modelo de permissão completo e seus limites, é pública em github.com/Kobel123/kobel-mcp.

Fontes: Cymulate sobre EscapeRoute (CVE-2025-53109 / 53110) · SentinelOne sobre CVE-2026-40576 · The Agent Report: paisagem de segurança do MCP 2026 · Embrace The Red sobre a violação do sistema de arquivos da Anthropic · O Projeto MCP Vulnerável

Análise editorial da Triplo Hub

As vulnerabilidades em servidores MCP podem impactar empresas brasileiras que utilizam essa tecnologia, expondo dados sensíveis. A atualização e a revisão das permissões de diretórios são cruciais para mitigar riscos de segurança.

Compartilhar
Seguir @triploup

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.