CVE-2026-110720 - HashiCorp consul-k8s Cross-Namespace ACL Bypass PoC & Exploit
# CVE-2026-110720 - HashiCorp consul-k8s Cross-Namespace ACL Bypass
**By Gh0st-Bx1 | https://github.com/Ghost-Bx1**
---
## Visao Geral
O consul-k8s (versoes 0.42.0 a 2.0.4) gera ClusterRoleBindings e ServiceAccounts para componentes internos do Consul sem restringir o binding por namespace. Quando `global.acls.manageSystemACLs=true` esta habilitado, um ServiceAccount criado em qualquer namespace pode se autenticar no servidor Consul como se fosse um componente de sistema, bypassando completamente o namespace ACL.
## Detalhes Tecnicos
| Campo | Valor |
|-------|-------|
| CVE | CVE-2026-110720 |
| CVSS | 9.9 (CRITICO) |
| CWE | CWE-863 (Incorrect Authorization) |
| Advisory | HCSEC-2026-50 |
| Fornecedor | HashiCorp |
| Produto | consul-k8s |
| Requer | K8s: criar SA + obter token em outro namespace + acesso de rede ao Consul API |
| Data | Outubro 2026 |
### Versoes Afetadas
| Versao | Status |
|--------|--------|
| consul-k8s 0.42.0 - 2.0.4 | Vulneravel |
| consul-k8s >= 2.1.0 | Corrigido |
| consul-k8s >= 1.8.18 (backport) | Corrigido |
### Mecanismo
```
Cluster K8s com consul-k8s + manageSystemACLs=true
|
v
consul-k8s cria ClusterRoleBinding sem restricao de namespace:
subjects:
- kind: ServiceAccount
name: consul-server-acl-init
namespace: consul <-- sem validacao de outros namespaces
|
v
Atacante cria namespace "evil-ns" e SA "consul-server-acl-init"
|
v
Atacante cria ClusterRoleBinding apontando seu SA
para o ClusterRole do Consul
|
v
Token do SA do atacante autentica como componente de sistema
no servidor Consul ACL
|
v
Acesso a: ACL tokens, service mesh policies, KV store secrets
```
### Componentes de Sistema Afetados
| ServiceAccount | Privilegio |
|---------------|-----------|
| consul-server-acl-init | Bootstrap ACL |
| consul-client-acl-init | Client registration |
| consul-connect-inject-acl-init | Service mesh tokens |
| consul-syn