Skip to content
Heist/ feed
Back to feed
Low

OpenBao: Timing Side-Channel in Userpass Auth Method

Type: advisorySources: OSV

OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys. In versions 0.1.0 through 2.3.1, when using OpenBao's userpass auth method, user enumeration was possible due to timing difference between non-existent users and users with stored credentials. This is independent of whether the supplied credentials were valid for the given user. This issue was fixed in version 2.3.2. To work around this issue, users may use another auth method or apply rate limiting quotas to limit the number of requests in a period of time: https://openbao.org/api-docs/system/rate-limit-quotas/.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-54999
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 16:33 UTC · Revision 1

Source evidence

OpenBao: Timing Side-Channel in Userpass Auth Method

core-osv · Original source

Published 9 Aug 2025, 02:00 UTC

OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys. In versions 0.1.0 through 2.3.1, when using OpenBao's userpass auth method, user enumeration was possible due to timing difference between non-existent users and users with stored credentials. This is independent of whether the supplied credentials were valid for the given user. This issue was fixed in version 2.3.2. To work around this issue, users may use another auth method or apply rate limiting quotas to limit the number of requests in a period of time: https://openbao.org/api-docs/system/rate-limit-quotas/.

osv:CVE-2025-54999
Complete source record
{
  "id": "55b52517afe338798bb72db66d0d8d7a04bbbb84a73b3fdde8a1594a7b99be07",
  "url": "https://osv.dev/vulnerability/CVE-2025-54999",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenBao: Timing Side-Channel in Userpass Auth Method",
    "summary": "OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys. In versions 0.1.0 through 2.3.1, when using OpenBao's userpass auth method, user enumeration was possible due to timing difference between non-existent users and users with stored credentials. This is independent of whether the supplied credentials were valid for the given user. This issue was fixed in version 2.3.2. To work around this issue, users may use another auth method or apply rate limiting quotas to limit the number of requests in a period of time: https://openbao.org/api-docs/system/rate-limit-quotas/.",
    "evidence": "osv:CVE-2025-54999",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2025-54999",
      "aliases": [
        "BIT-openbao-2025-54999",
        "CVE-2025-54999",
        "GHSA-hh28-h22f-8357",
        "GO-2025-3854"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/openbao/openbao",
              "type": "GIT",
              "events": [
                {
                  "introduced": "cd1f974f367f282c3d6340fa6dc1dfb49772431c"
                },
                {
                  "fixed": "b1a68f558c89d18d38fbb8675bb6fc1d90b71e98"
                },
                {
                  "fixed": "4d9b5d3d6486ab9fbd5b644173fa0097015d6626"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.1.0"
                      },
                      {
                        "fixed": "2.3.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4d9b5d3d6486ab9fbd5b644173fa0097015d6626"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.3.1",
            "v2.3.0",
            "sdk/v2.3.1",
            "api/v2.3.1",
            "api/auth/userpass/v2.3.1",
            "api/auth/ldap/v2.3.1",
            "api/auth/kubernetes/v2.3.1",
            "api/auth/approle/v2.3.1",
            "v2.3.0-beta20250528",
            "sdk/v2.3.0",
            "api/v2.3.0",
            "api/auth/userpass/v2.3.0",
            "api/auth/ldap/v2.3.0",
            "api/auth/kubernetes/v2.3.0",
            "api/auth/approle/v2.3.0",
            "dev-namespaces-base-20250424",
            "dev-namespaces-base-20250311",
            "v2.2.0-beta20250213",
            "dev-namespaces-base-20250215",
            "sdk/v2.2.0",
            "api/v2.2.0",
            "api/auth/userpass/v2.2.0",
            "api/auth/ldap/v2.2.0",
            "api/auth/kubernetes/v2.2.0",
            "api/auth/approle/v2.2.0",
            "v2.1.0-beta20241114.3",
            "v2.1.0-beta20241114.2",
            "v2.1.0-beta20241114.1",
            "v2.1.0-beta20241114",
            "sdk/v2.1.0",
            "api/v2.1.0",
            "v2.0.0",
            "sdk/v2.0.1",
            "api/v2.0.1",
            "api/auth/userpass/v2.0.1",
            "api/auth/ldap/v2.0.1",
            "api/auth/kubernetes/v2.0.1",
            "api/auth/approle/v2.0.1",
            "v2.0.0-beta20240618",
            "sdk/v1.100.0-development20240408",
            "api/v1.100.0-development20240408",
            "api/auth/userpass/v1.1.0-development20240408",
            "api/auth/ldap/v1.1.0-development20240408",
            "api/auth/kubernetes/v1.1.0-development20240408",
            "api/auth/gcp/v1.1.0-development20240408",
            "api/auth/azure/v1.1.0-development20240408",
            "api/auth/aws/v1.1.0-development20240408",
            "api/auth/approle/v1.1.0-development20240408",
            "v2.0.0-alpha20240329",
            "before-plugin-removal",
            "api/auth/userpass/v0.4.1",
            "api/auth/gcp/v0.4.1",
            "api/auth/azure/v0.4.1",
            "api/auth/aws/v0.4.1",
            "api/auth/approle/v0.4.1",
            "sdk/v0.9.1",
            "api/v1.9.2",
            "api/v1.9.1",
            "sdk/v0.9.0",
            "api/auth/userpass/v0.4.0",
            "api/auth/gcp/v0.4.0",
            "api/auth/azure/v0.4.0",
            "api/auth/aws/v0.4.0",
            "api/auth/approle/v0.4.0",
            "sdk/v0.8.0",
            "api/v1.9.0",
            "api/v1.8.3",
            "sdk/v0.7.0",
            "sdk/v0.6.2",
            "sdk/v0.6.1",
            "api/v1.8.2",
            "api/v1.8.1",
            "api/auth/userpass/v0.3.0",
            "api/auth/gcp/v0.3.0",
            "api/auth/azure/v0.3.0",
            "api/auth/aws/v0.3.0",
            "api/auth/approle/v0.3.0",
            "api/v1.8.0",
            "sdk/v0.6.0",
            "api/auth/userpass/v0.2.0",
            "api/auth/gcp/v0.2.0",
            "api/auth/azure/v0.2.0",
            "api/auth/aws/v0.2.0",
            "api/auth/approle/v0.2.0",
            "sdk/v0.5.3",
            "api/v1.7.2",
            "sdk/v0.5.1",
            "api/v1.7.1",
            "api/v1.7.0",
            "api/v1.6.0",
            "sdk/v0.5.0",
            "api/v1.5.0",
            "sdk/v0.4.1",
            "api/v1.3.1",
            "api/auth/approle/v0.1.1",
            "api/auth/gcp/v0.1.0",
            "api/auth/azure/v0.1.0",
            "api/auth/userpass/v0.1.0",
            "api/auth/aws/v0.1.0",
            "api/auth/approle/v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-54999.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.411206299Z",
      "provider": "osv",
      "references": [
        "https://discuss.hashicorp.com/t/hcsec-2025-15-timing-side-channel-in-vault-s-userpass-auth-method/76034",
        "https://discuss.hashicorp.com/t/hcsec-2025-21-vault-user-enumeration-in-userpass-auth-method/76095",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54999.json",
        "https://github.com/openbao/openbao/security/advisories/GHSA-hh28-h22f-8357",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-54999",
        "https://github.com/openbao/openbao/commit/4d9b5d3d6486ab9fbd5b644173fa0097015d6626"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-203"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54999.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-54999",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504731,
  "published_at": "2025-08-09T02:00:46.271+00:00"
}