
A comparação de diretórios permitidos
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:
-
Verifique suas versões em relação aos CVEs acima. O da Anthropic está corrigido em
2025.7.1; o excel-mcp-server em0.1.8. -
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. -
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
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.

