CVE-2024-9180
High · 7.2Vault Community Edition privilege escalation vulnerability
CVSS
7.2
EPSS
0.5%
Published
Oct 10, 2024
CISA due date
—
Cloudanix analysis
A trusted administrator of the company’s secrets system can grant themselves unrestricted control over every stored password, key, and security policy.
- Exploitation
- Remote Authenticated
- Attacker needs
- High Privilege
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Privilege Escalation
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
A privileged Vault operator who already has write access to the root namespace identity endpoint can associate Vault’s root policy with an identity they control, converting limited operator rights into unrestricted root-equivalent authorization over secrets engines, auth methods, policies, leases, and audit configuration.
Why it matters to the business
Compromise of the secrets-management plane lets an insider or stolen operator credential steal or alter cloud keys, database passwords, certificates, and application secrets, with potential for broad downstream outage and data exposure. The issue is not in CISA KEV, has no public exploit, and a low, flat EPSS (~0.5%), but Vault is a crown-jewel system and the flaw has been public for a long time, so unpatched clusters remain an unacceptable residual risk.
How an attack unfolds
An attacker who already holds (or steals) a Vault operator identity with write permission on the root namespace identity API uses that access to change identity entities, aliases, or groups so the built-in root policy is attached. Later authentications or tokens bound to that identity inherit root-level rights, which the attacker then uses to read secrets, change policies, disable auditing, or persist access. There is no unauthenticated or pre-auth path; exploitation requires valid privileged credentials and identity-write in the root namespace.
How to fix it
Upgrade HashiCorp Vault Community Edition to 1.18.0 or later, or Vault Enterprise to 1.18.0, 1.17.7, 1.16.11, or 1.15.16 (or a later patch on those trains). Until upgraded, strip write capabilities on root-namespace identity paths from all non-root operators, review entities and groups for unexpected root policy associations, and rotate operator tokens. If abuse is suspected, rotate affected secrets and re-enable or verify audit devices.
How to confirm the fix worked
Confirm the running Vault version is Community 1.18.0+ or Enterprise 1.18.0 / 1.17.7 / 1.16.11 / 1.15.16 or later via the version or sys/health API. Re-read ACL policies to ensure non-root operators lack write on identity endpoints in the root namespace. Enumerate identity entities and groups for unexpected root policy attachments and sample-test that a previously privileged non-root operator can no longer obtain root.
Typical attack path
- Obtain or abuse a Vault operator token with write on the root namespace identity endpoint
- Modify a root-namespace identity entity, alias, or group so the root policy is associated with an identity the attacker can assume
- Authenticate or mint a token bound to the modified identity
- Use the elevated token to read secrets, alter policies and auth methods, and establish persistence
- Optionally weaken or disable audit devices and clean identity records to hinder investigation
How to detect it
Search Vault audit logs (file, syslog, or socket devices) for write/update/create operations on identity entity, entity-alias, and group paths in the root namespace, especially where the root policy is added to policies or member_entity_ids. Correlate those events with subsequent tokens that list root among auth.policies, unexpected sys/policy or sys/auth changes, and audit-device disable or tune operations. Review identity storage and policy assignments for entities or groups that currently carry root. There are no named threat actors or public exploit signatures for this CVE; detection is audit- and configuration-based.
- "path":"identity/entity"
- "path":"identity/entity/id/
- "path":"identity/entity-alias"
- "path":"identity/group"
- "path":"identity/group/id/
- "operation":"update"
- "operation":"create"
- "policies":["root"]
- "policy":"root"
- request path containing identity/entity with root policy assignment
- sys/audit disable or tune shortly after identity writes
What your security team should do
- Patch all Vault Community and Enterprise clusters to a fixed release immediately, treating remaining unpatched nodes as overdue given how long the advisory has been public
- Remove identity-write in the root namespace from every non-root policy and break-glass the remaining root tokens
- Hunt historical audit logs for identity entity/group writes that assigned the root policy, then rotate secrets and tokens if any are found
- Verify audit devices are still enabled and that identity and policy changes are logged
- Constrain operator roles with namespace isolation and least-privilege policies going forward
The record
A privileged Vault operator with write permissions to the root namespace’s identity endpoint could escalate their privileges to Vault’s root policy. Fixed in Vault Community Edition 1.18.0 and Vault Enterprise 1.18.0, 1.17.7, 1.16.11, and 1.15.16
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/hashicorp/vault | 0 | 1.18.0 |
| Go | github.com/openbao/openbao | 0 | 2.0.3 |
| Bitnami | vault | 1.7.7 | 1.18.0 |
| Chainguard | vault-1.16-compat | 0 | 1.16.3-r26 |
| Chainguard | vault-1.17-compat | 0 | 1.17.6-r18 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | govulncheck-vulndb | 0 | 0.0.20241030T212825-150000.1.9.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | govulncheck-vulndb | 0 | 0.0.20241030T212825-150000.1.9.1 |
| SUSE:Package Hub 12 | govulncheck-vulndb | 0 | 0.0.20241104T154416-5.1 |
| openSUSE:Leap 15.5 | govulncheck-vulndb | 0 | 0.0.20241030T212825-150000.1.9.1 |
| openSUSE:Leap 15.6 | govulncheck-vulndb | 0 | 0.0.20241030T212825-150000.1.9.1 |
| openSUSE:Tumbleweed | govulncheck-vulndb | 0 | 0.0.20241030T212825-1.1 |
Related vulnerabilities
- CVE-2025-12044 Hashicorp Vault and Vault Enterprise vulnerable to a denial of service when processing… Also affects github.com/hashicorp/vault
- CVE-2025-11621 HashiCorp Vault and Vault Enterprise's AWS Auth method may be susceptible to… Also affects github.com/hashicorp/vault
- CVE-2025-6203 HashiCorp Vault Community Edition Denial of Service Though Complex JSON Payloads Also affects github.com/hashicorp/vault
- CVE-2025-6013 HashiCorp Vault ldap auth method may not have correctly enforced MFA Also affects github.com/hashicorp/vault
- CVE-2025-6037 Hashicorp Vault has Incorrect Validation for Non-CA Certificates Also affects github.com/hashicorp/vault
- CVE-2025-6000 Hashicorp Vault has Code Execution Vulnerability via Plugin Configuration Also affects github.com/hashicorp/vault
- CVE-2025-6011 Hashicorp Vault has an Observable Discrepancy on Existing and Non-Existing Users Also affects github.com/hashicorp/vault
- CVE-2025-5999 Hashicorp Vault has Privilege Escalation Vulnerability Also affects github.com/hashicorp/vault