Horizon Alert
Summary of the vulnerability and why it matters
A security flaw in the AAP Controller's HashiCorp Vault credential plugin could allow an authenticated attacker with specific privileges to steal a service account token. This token could grant them broad access to sensitive Kubernetes resources, including database credentials and encryption keys, impacting the confidentiality and integrity of the environment.
- Stolen token grants wide access to Kubernetes.
- Understand scope; confirm relevance to your environment.
- Prioritize reviewing related access controls.
Attack Path
How an attacker could exploit the issue
An attacker with the ability to create and test credentials in the AAP Controller could exploit this vulnerability. The attacker would configure a HashiCorp Vault credential to use Kubernetes role authentication and then test this credential. This action causes the controller to send a service account token to a URL controlled by the attacker, granting them access to sensitive Kubernetes data.
- Authenticated attacker with credential privileges.
- Testing a HashiCorp Vault credential.
- Exfiltrate service account token for API access.
Live Threat
Current exploitation, exposure, and threat context
A flaw in the AAP Controller's HashiCorp Vault credential plugin could allow an authenticated attacker with credential-creation privileges to exfiltrate a Kubernetes service account token. When a specific type of HashiCorp Vault credential is tested, the plugin inadvertently sends this token to an attacker-controlled URL. This exfiltrated token could grant the attacker access to Kubernetes API, allowing them to read secrets within control plane namespaces, including sensitive database credentials and the Django SECRET_KEY.
- Kubernetes service account token at risk.
- Token exfiltrated during credential testing.
- Gains control plane API access.
Operational Fix
Recommended remediation, mitigation, and detection steps
This vulnerability impacts the AAP Controller's HashiCorp Vault credential plugin, specifically how it handles Kubernetes service account tokens during credential testing. Owners of the AAP Controller application and the underlying Kubernetes infrastructure should lead the response. The first practical step is to identify all AAP Controller instances, determine if the HashiCorp Vault credential plugin is configured with Kubernetes role authentication, and confirm reachability and criticality of affected control plane namespaces. This will enable proper risk assessment and planning for remediation with the platform and security teams.
- Identify AAP Controller and Vault plugin usage.
- Verify affected Kubernetes control plane exposure.
- Plan remediation based on risk and impact.