HashiCorp Patches Critical Kubernetes ACL Bypass in Consul-k8s

A serious security vulnerability was disclosed in HashiCorp’s Consul-k8s that could let attackers from one Kubernetes namespace gain elevated privileges in Consul. The bug, cataloged as CVE-2026-110720, centers on an authorization bypass in automated ACL (access control list) management. Fixes have been released, but admins must confirm their environments aren’t exposed.

What’s the issue?

The flaw lies in how Consul-k8s handles ACL binding rules. When “system ACL management” is turned on, Consul-k8s creates Kubernetes authentication and binding rules so its components can automatically fetch Consul tokens. These binding rules are supposed to tie each component’s Kubernetes ServiceAccount to a matching Consul role. But in versions prior to the patch, those rules don’t always restrict authentication to the namespace where Consul is running.

Because of that missing namespace restriction, a ServiceAccount from another namespace could assume the identity of a Consul component and inherit its permissions, effectively breaking the intended boundary. How much power an attacker could get depends on which component is being impersonated. It may not always yield full administrative rights, but it could still be dangerous.

Who’s affected & how serious it is

Deployments using versions of Consul-k8s from 0.42.0 through 2.0.4 are exposed. The fixes are included in versions 2.1.0 and 1.8.18. Importantly, this issue only applies if the configuration setting global.acls.manageSystemACLs=true is enabled—if this is disabled, the vulnerability cannot be exploited.

To successfully attack via this vector, bad actors would need two things: the ability to create a ServiceAccount and extract its token in a different namespace, *and* network access to Consul’s API. Without both, the attack path collapses. There’s no public proof of the flaw having been exploited, and no exploit code has been disclosed.

What to do now

HashiCorp urges all users to check if their systems are infected—verify both the Consul-k8s version and whether global.acls.manageSystemACLs is set to true. If you meet the vulnerable criteria, upgrading to 2.1.0 or 1.8.18 is essential.

There are no additional cleanup steps detailed in the advisory beyond upgrading; just getting on a patched version is the core mitigation.

HashiCorp credits Elias Hasas (aka zer0d4y5) for discovering and reporting the issue. The advisory—labeled HCSEC-2026-50—was published on October 26, 2026.

Why this matters: Kubernetes token abuse and misconfigurations already form a large part of breaches in cloud environments. This vulnerability shows how ambient identity and improper ACL binding can let attackers cross Kubernetes namespace borders, even without exposed secrets or open ports. It’s a reminder that securing system ACL policies and API access are as crucial as patching software. Admins should treat network exposure to Consul as a red flag and audit service accounts in all namespaces—not just obvious ones. What to watch next: whether other tools using generated binding rules share the same risks, and whether any exploit code or public incidents surface in the coming weeks.