← back
CVE-2025-34026criticalunder attackCWE-288

Versa Concerto Actuator Authentication Bypass Information Leak

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.2epss 83%
from disclosure to weapon
Published on NVDMay 21
CISA KEV+246d
exploitation probability
83%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2026-02-12

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Summary

Falha de autenticação (CWE-288) no Versa Concerto, plataforma de orquestração SD-WAN, causada por uma inconsistência na normalização de URLs entre o filtro de autenticação e o roteamento real das requisições no proxy Traefik. O bypass permite alcançar o endpoint interno do Spring Boot Actuator sem credenciais, expondo heap dumps e trace logs que podem conter tokens, segredos e dados de sessão. Está no catálogo KEV da CISA com exploração confirmada, e é a peça inicial de uma cadeia maior (descrita por pesquisadores da ProjectDiscovery) que pode escalar até RCE e fuga de container.

Technical detail

O Concerto é composto por múltiplos containers Docker — core-service, web-service e traefik — sendo o Traefik o ponto de entrada nas portas 80/443, roteando para os serviços Spring Boot internos. A classe AuthenticationFilter decide quais caminhos pulam autenticação usando um método getNormalizeURI() que decodifica a URL (URLDecoder.decode) e a normaliza antes de checar se ela contém '/actuator' ou termina em '/v1/ping' — caminhos que são deliberadamente deixados sem checagem de auth.

O problema é que essa decisão de 'pular autenticação' é tomada sobre a URL decodificada, mas a URL efetivamente processada pelos controllers e pelo roteamento downstream não passa pela mesma decodificação. Isso cria uma condição do tipo Time-of-Check to Time-of-Use (TOCTOU): um atacante constrói uma URL com codificação (ex.: sequências %2f, uso de ';') que, decodificada, parece um path de administração normal, mas que na checagem de autenticação é interpretada como um path isento (contendo '/actuator' ou '/v1/ping'), enquanto o restante da pilha a trata de forma diferente.

O impacto direto dessa CVE é o acesso ao endpoint interno do Spring Boot Actuator — normalmente não deveria estar acessível externamente através do Traefik. Actuator expõe, entre outras coisas, /heapdump (dump completo da memória da JVM, incluindo credenciais, tokens JWT, segredos de configuração em memória) e /trace (histórico de requisições HTTP, que pode conter headers de autenticação e dados sensíveis de sessão de outros usuários). Não há execução de código nesta CVE isoladamente — o impacto é confidencialidade (SC:H) com algum efeito colateral de integridade (SI:L), refletido no vetor CVSS 4.0.

How it’s exploited

O vetor é de rede, sem autenticação e sem interação do usuário (AV:N/AT:N/PR:N/UI:N no CVSS 4.0), o que torna a exploração trivial de automatizar contra qualquer instância exposta na internet. O atacante envia uma requisição HTTP manipulada ao Traefik explorando a divergência de decodificação de URL para chegar ao endpoint Actuator interno, que fica acessível como se fosse um path isento de autenticação.

A ProjectDiscovery documentou publicamente o mecanismo do bypass (incluindo um exemplo de URL manipulada usando ';' e codificação percentual) e publicou template Nuclei, o que baixa consideravelmente a barreira de exploração automatizada e explica a presença no KEV da CISA com exploração confirmada em campo. Isoladamente, essa CVE entrega vazamento de dados via heap dump/trace logs; os mesmos pesquisadores mostraram que o bypass de autenticação pode ser encadeado com um endpoint de upload de pacotes vulnerável a escrita arbitrária de arquivo (web-service) para alcançar RCE e, a partir daí, fuga do container via mapeamentos de volume mal configurados — mas essa cadeia completa está fora do escopo estrito desta CVE.

A CISA definiu prazo de correção (due date) até 2026-02-12 para agências federais dos EUA, o que reforça a avaliação de exploração ativa e risco elevado, independentemente de o CVSS numérico (9.2) capturar toda a extensão do impacto quando encadeado com as demais falhas relatadas pelos pesquisadores.

Versions

Affected
Versas Concerto de 12.1.2 até 12.2.0, conforme a descrição oficial do fornecedor. O próprio fornecedor ressalva que versões adicionais podem ser afetadas.

How to protect

O fornecedor publicou um boletim de segurança (link nas referências) com instruções de mitigação; o conteúdo detalhado desse boletim — incluindo eventual número de versão corrigida — não estava disponível no material consultado para esta página, então não é possível afirmar aqui uma versão fixa específica. Trate o boletim oficial da Versa como fonte primária para o número exato de build corrigida antes de declarar o ambiente remediado.

Como controle compensatório, restrinja o acesso ao endpoint '/actuator' e variantes codificadas dele na camada do proxy reverso (Traefik) e, se possível, na frente dele (firewall/WAF), bloqueando explicitamente qualquer path que contenha '/actuator' em qualquer forma de codificação (percent-encoding, ';', duplicação de barras) e não apenas a forma decodificada literal — o próprio bug é uma falha de normalização, então uma regra de bloqueio que só reconheça a string exata '/actuator' não resolve. Isolar o Actuator para escuta apenas em interface interna/loopback, sem exposição via Traefik externo, remove o vetor por completo, mas exige mudança de configuração de deployment que pode não ser suportada sem o patch do fornecedor.

Não funciona como mitigação: confiar apenas em autenticação de aplicação, já que o bypass ocorre antes da checagem de autorização ser aplicada de forma consistente. Também não é suficiente bloquear apenas a string literal 'actuator' sem tratar variantes de codificação de URL, dado que o mecanismo do bug é exatamente essa inconsistência de decodificação entre o filtro e o roteamento real.

How to detect

Procure nos logs de acesso do Traefik/proxy reverso requisições externas para paths que resolvem para '/actuator' (incluindo suas subrotas como /actuator/heapdump e /actuator/trace) originadas de fora da rede interna esperada, especialmente variantes com codificação percentual, ponto-e-vírgula ou barras duplicadas na URL — a exemplo do padrão documentado publicamente (.../users/username/admin;%2fv1%2fping). A existência de um template Nuclei público para essa CVE significa que scanners automatizados de internet provavelmente já testaram ou testarão o padrão de requisição associado; correlacionar hits desse padrão com IPs de origem não pertencentes à administração legítima é um indicador forte de tentativa de exploração. Não há um único indicador infalível além disso, já que o tráfego malicioso pode ser disfarçado dentro de requisições HTTP legítimas em formato — a ausência de log detalhado de payload no nível de aplicação (e não apenas do proxy) limita a capacidade de detecção retroativa em muitos ambientes.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The Versa Concerto SD-WAN orchestration platform is vulnerable to an authentication bypass in the Traefik reverse proxy configuration, allowing at attacker to access administrative endpoints. The internal Actuator endpoint can be leveraged for access to heap dumps and trace logs.This issue is known to affect Concerto from 12.1.2 through 12.2.0. Additional versions may be vulnerable.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:L/SA:N
Affected products
Versa · Concerto
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.