# CVE-2026-12564: Automation-controller: automation-controller: kubernetes service account token exfiltration via hashicorp vault credential ssrf

Status: published. Published: 2026-08-18. Updated: 2026-11-02.

A flaw was found in the AAP Controller's HashiCorp Vault credential plugin. The kubernetes_auth() function in awx_plugins/credentials/hashivault.py reads the controller pod's Kubernetes service account token and sends it to an attacker-controlled URL when a HashiCorp Vault Secret Lookup credential with kubernetes_role authentication is tested. An authenticated attacker with credential-creation privileges can exfiltrate the service account token, gaining Kubernetes API access to the control plane namespaces with full pod CRUD and secret read permissions, including database credentials and the Django SECRET_KEY.

## Remediation

- workaround: The following practices would help for avoiding exposure and mitigate this flaw:
- Restrict network egress from controller pods using Kubernetes NetworkPolicy to prevent outbound connections to untrusted destinations. Only allow connections to known Vault server endpoints.
- Review and restrict the RBAC permissions of the automation-controller service account to follow the principle of least privilege. Remove unnecessary secret read access.
- In AAP Cloud environments, audit credential-creation activity for suspicious HashiCorp Vault credentials with external or unusual URLs.
- Monitor Kubernetes audit logs for unexpected API calls using the automation-controller service account, particularly secret reads and pod operations from EE pods.
- Rotate the automation-controller service account token if unauthorized access is suspected.
- Consider restricting the "create credential" privilege to only trusted administrators until the fix is available. (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat Ansible Automation Platform 2.4 for RHEL 8 (automation-controller): ≥ 0:4.5.36-1.el8ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.4 for RHEL 9 (automation-controller): ≥ 0:4.5.36-1.el9ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.5 for RHEL 8 (automation-controller): ≥ 0:4.6.33-1.el8ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.5 for RHEL 9 (automation-controller): ≥ 0:4.6.33-1.el9ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.6 for RHEL 9 (automation-controller): ≥ 0:4.7.17-1.el9ap; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.6 (ansible-automation-platform-26/controller-rhel9): ≥ 1789673739; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2.7 (ansible-automation-platform-27/controller-rhel9): ≥ 1788918363; < * (unaffected, rpm). Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 9.6 (critical); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N; source: CNA: redhat

- CISA KEV: No listing in collected sources

- EPSS: 0.35% as of 2026-11-02; percentile 28.48%

- SSVC: exploitation none; automatable no; technical impact total; source ADP: CISA-ADP

- Weaknesses: CWE-918

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/errata/RHSA-2026:67279 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71113 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71114 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71115 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:71179 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/security/cve/CVE-2026-12564 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2490556 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-12564; retrieved 2026-11-02; source updated 2026-11-02

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-12564; retrieved 2026-11-02; source updated Not reported

Revision: c6d54dc563d31673351debf7afe3769d4aa94d6300179bd58b866f7bd7a92c86

Canonical: https://y2.dev/cve/CVE-2026-12564

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.