Miggo Logo

CVE-2025-6004: Hashicorp Vault has Lockout Feature Authentication Bypass

5.3

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/1/2025
Updated
8/1/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/hashicorp/vaultgo>= 1.13.0, < 1.20.11.20.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability, CVE-2025-6004, allowed an attacker to bypass the user lockout feature in HashiCorp Vault for both userpass and ldap authentication methods. The core of the issue was the inconsistent normalization of usernames before checking for failed login attempts.

For the userpass authentication method, which treats usernames as case-insensitive, the pathLoginAliasLookahead function failed to convert the input username to a consistent case (lowercase). This discrepancy meant an attacker could make multiple login attempts with different casings of the same username (e.g., 'user', 'User', 'USER'). Each attempt was treated as a distinct alias for the purpose of lockout tracking, thus circumventing the lockout mechanism for the actual user account.

Similarly, for the ldap authentication method, the pathLoginAliasLookahead function did not correctly handle the case_sensitive_names configuration. When the LDAP backend was configured to be case-insensitive, it suffered from the same flaw as the userpass method, allowing for a lockout bypass.

The security patch rectifies this by enforcing proper username normalization within the pathLoginAliasLookahead function for both affected backends. For userpass, the username is now always converted to lowercase. For ldap, the username is converted to lowercase only when the case_sensitive_names option is disabled. This ensures that all login attempts for a given user map to a single, normalized alias, making the lockout mechanism effective.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

V*ult *n* V*ult *nt*rpris*’s (“V*ult”) us*r lo*kout ***tur* *oul* ** *yp*ss** *or Us*rp*ss *n* L**P *ut**nti**tion m*t*o*s. *ix** in V*ult *ommunity **ition *.**.* *n* V*ult *nt*rpris* *.**.*, *.**.*, *.**.**, *n* *.**.**.

Reasoning

T** vuln*r**ility, *V*-****-****, *llow** *n *tt**k*r to *yp*ss t** us*r lo*kout ***tur* in **s*i*orp V*ult *or *ot* `us*rp*ss` *n* `l**p` *ut**nti**tion m*t*o*s. T** *or* o* t** issu* w*s t** in*onsist*nt norm*liz*tion o* us*rn*m*s ***or* ****kin* *