☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Openbao logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.3 🐛 CWE-307
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-54998

CVE-2025-54998 Supply Chain Attack in Openbao
📅 PUBLISHED: 2025-08-09 02:00 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.21%
👁️
0.21% probability
5.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54998 is a security advisory affecting OpenBao, a software solution for managing, storing, and distributing sensitive data including secrets, certificates, and keys. In versions 0.1.0 through 2.3.1, attackers can bypass the automatic user lockout mechanisms in the OpenBao Userpass or LDAP auth systems. This vulnerability is caused by different aliasing between pre-flight and full login request user entity alias attributions. The vulnerability has a CVSS score of 5.3 (Medium) and is currently unpatched in versions prior to 2.3.2. The EPSS score is 0.0%, indicating low exploitation likelihood at this time. No public proof-of-concept or exploit code is available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

OpenBao is a Go-based project. The vulnerability affects the authentication mechanisms within the application itself, not a specific package manager. However, organizations using OpenBao should verify their deployment version and ensure they are not using vulnerable versions (0.1.0 through 2.3.1). The fix is available in version 2.3.2.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: Low
  • Availability Impact: None

The threat level is Medium due to the low complexity and network-based attack vector, but the impact is limited to integrity (bypassing lockout mechanisms) without affecting confidentiality or availability.

Deep Dive & Mechanics

The vulnerability lies in the authentication flow for Userpass and LDAP auth methods in OpenBao. The system implements automatic user lockout after a certain number of failed login attempts to prevent brute-force attacks. However, due to different aliasing between pre-flight and full login request user entity alias attributions, an attacker can bypass this lockout mechanism.

Technical Details:

  • During a pre-flight request (e.g., a request to check if a user exists), the system creates an alias for the user entity.
  • During the full login request, the system uses a different alias attribution, which may not match the pre-flight alias.
  • This mismatch allows an attacker to continue attempting logins even after the lockout threshold is reached, because the lockout is tied to the pre-flight alias, not the full login alias.

Attack Scenario:

  1. An attacker sends multiple pre-flight requests to enumerate valid usernames.
  2. The system creates aliases for these users and applies lockout thresholds.
  3. The attacker then sends full login requests with different alias attributions, bypassing the lockout.
  4. This allows unlimited brute-force attempts against user accounts.

Vulnerable vs. Patched Code

Vulnerable Code (Pre-2.3.2): The vulnerable code likely exists in the authentication handler where user entity aliases are created and checked. The pre-flight and full login requests use different alias attribution logic, causing the lockout check to fail.

// Vulnerable: Pre-flight creates alias with one method
func preFlightLogin(req *http.Request) {
    alias := createAlias(req) // Uses method A
    storeAlias(alias)
}

// Vulnerable: Full login uses different alias attribution
func fullLogin(req *http.Request) {
    alias := createAlias(req) // Uses method B (different from A)
    if isLockedOut(alias) {
        return error
    }
    // proceed with login
}

Patched Code (2.3.2): The patched code ensures consistent alias attribution between pre-flight and full login requests.

// Patched: Consistent alias attribution
func preFlightLogin(req *http.Request) {
    alias := createAlias(req) // Uses consistent method
    storeAlias(alias)
}

func fullLogin(req *http.Request) {
    alias := createAlias(req) // Uses same consistent method
    if isLockedOut(alias) {
        return error
    }
    // proceed with login
}

Exploitation & Lab Setup

Red Team (Attacker)

Lab Setup:

  1. Deploy OpenBao version 2.3.1 in a Docker container.
  2. Configure Userpass authentication with a test user.
  3. Set lockout threshold to 3 failed attempts.

Exploitation Steps:

  1. Identify the OpenBao instance (e.g., https://openbao.example.com:8200).
  2. Send pre-flight requests to enumerate users:
    curl -k -X POST https://openbao.example.com:8200/v1/auth/userpass/login/testuser \
      -d '{"password": "wrongpassword"}'
    
  3. After 3 failed attempts, the user should be locked out.
  4. Send full login requests with different alias attribution (e.g., using different headers or parameters):
    curl -k -X POST https://openbao.example.com:8200/v1/auth/userpass/login/testuser \
      -H "X-OpenBao-Alias: bypass" \
      -d '{"password": "anotherwrongpassword"}'
    
  5. Observe that the lockout is bypassed and unlimited attempts are allowed.

Blue Team (Defender)

Detection:

  1. Monitor authentication logs for multiple failed attempts from the same IP or user.
  2. Look for anomalies in alias attribution (e.g., different headers or parameters in login requests).
  3. Use rate-limiting quotas on authentication endpoints as a workaround.

Mitigation:

  1. Upgrade to OpenBao version 2.3.2 immediately.
  2. Apply rate-limiting quotas on authentication endpoints:
    vault write sys/quotas/rate-limit/auth-userpass \
      path="auth/userpass/login/*" \
      rate=10 \
      interval=60
    
  3. Implement network-level rate limiting and IP blocking.

Indicators of Compromise (IOCs)

  • Network Indicators:

    • Multiple failed login attempts from the same IP address.
    • Requests with unusual headers (e.g., X-OpenBao-Alias).
    • High volume of requests to /v1/auth/userpass/login/* or /v1/auth/ldap/login/*.
  • Log Indicators:

    • Authentication logs showing repeated failed attempts without lockout.
    • Log entries with mismatched alias attributions.
  • File Indicators:

    • Modified OpenBao configuration files (e.g., config.hcl) with disabled lockout settings.

Detection Engineering

YARA Rule

rule CVE_2025_54998_OpenBao_AuthBypass {
    meta:
        description = "Detects attempts to exploit CVE-2025-54998 in OpenBao authentication"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-54998"
    strings:
        $s1 = "auth/userpass/login" ascii wide nocase
        $s2 = "auth/ldap/login" ascii wide nocase
        $s3 = "X-OpenBao-Alias" ascii wide nocase
    condition:
        any of ($s*) and #s1 > 10
}

Sigma Rule

title: CVE-2025-54998 OpenBao Authentication Bypass
id: cve-2025-54998
status: experimental
description: Detects multiple failed login attempts to OpenBao authentication endpoints
author: Valters IT
date: 2025-04-10
logsource:
    category: application
    product: openbao
detection:
    selection:
        event: "authentication failure"
        path:
            - "/v1/auth/userpass/login/*"
            - "/v1/auth/ldap/login/*"
    condition: selection | count() by src_ip > 10 within 60s
falsepositives:
    - Legitimate users with forgotten passwords
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-54998 OpenBao Authentication Bypass Attempt";
    flow:to_server;
    content:"/v1/auth/"; http_uri;
    content:"login"; http_uri;
    pcre:"/(userpass|ldap)\/login/";
    threshold: type both, track by_src, count 10, seconds 60;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade OpenBao to version 2.3.2 or later.
  2. Apply rate-limiting quotas on authentication endpoints as a workaround:
    vault write sys/quotas/rate-limit/auth-userpass \
      path="auth/userpass/login/*" \
      rate=10 \
      interval=60
    
  3. Monitor authentication logs for suspicious activity.

Long-term Measures:

  1. Implement multi-factor authentication (MFA) for all users.
  2. Use network segmentation to limit access to OpenBao instances.
  3. Regularly review and update authentication policies.
  4. Conduct security audits and penetration testing.

Patch Details:

  • Upgrade to version 2.3.2 from the official OpenBao repository.
  • Verify the upgrade by checking the version:
    vault status
    

Valters IT
Cyber Threat Intelligence & DevSecOps

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54998/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.