Skip to main content

OpenBao AWS Plugin CVE-2025-59048

HIGH
Use of Multiple Resources with Duplicate Identifier (CWE-694)
2025-10-23 security-advisories@github.com
8.1
CVSS 3.1 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
6.8 MEDIUM

Network auth endpoint with attacker-held IAM role gives AV:N/PR:L; AC:H because a trusted/untrusted role-name collision must exist outside attacker control; C:H/I:H from secret access, A:N.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

3
Metadata Corrected
Oct 08, 2026 - 12:40 vuln.today
tag: Openbao added
Analysis Generated
Oct 08, 2026 - 12:18 vuln.today
CVE Published
Oct 23, 2025 - 16:16 cve.org
HIGH 8.1

DescriptionCVE.org

OpenBao's AWS Plugin generates AWS access credentials based on IAM policies. Prior to version 0.1.1, the AWS Plugin is vulnerable to cross-account IAM role Impersonation in the AWS auth method. The vulnerability allows an IAM role from an untrusted AWS account to authenticate by impersonating a role with the same name in a trusted account, leading to unauthorized access. This impacts all users of the auth-aws plugin who operate in a multi-account AWS environment where IAM role names may not be unique across accounts. This vulnerability has been patched in version 0.1.1 of the auth-aws plugin. A workaround for this issue involves guaranteeing that IAM role names are unique across all AWS accounts that could potentially interact with your OpenBao environment, and to audit for any duplicate IAM roles.

AnalysisAI

Cross-account IAM role impersonation in OpenBao's auth-aws plugin (versions up to and including 0.1.0) lets an authenticated attacker holding credentials for an IAM role in an untrusted AWS account authenticate to OpenBao by presenting a role name that collides with a trusted role in a different account, granting unauthorized access to secrets, data, and elevated privileges. The flaw is rooted in a client cache that is keyed only by AWS region and STS role and fails to incorporate the AWS Account ID, so a cached credential for one account is reused for another. Exploitation is environment-gated: it only affects multi-account AWS deployments where IAM role names are not globally unique, and a role-name collision must exist; EPSS is low (0.27%, 17th percentile) and no public exploit code has been identified at time of analysis.

Technical ContextAI

The auth-aws plugin is a Go-based OpenBao/Vault auth method that authenticates principals by calling AWS STS AssumeRole and validating the resulting identity (IAM principal ARN / account ID) against configured bindings. CWE-694 (Use of Multiple Resources with Duplicate Identifier) describes the root cause precisely: the backend maintains in-memory client caches (EC2ClientsMap and IAMClientsMap) originally keyed on region and stsRole alone, omitting the AWS account ID. Because role names are frequently reused across AWS accounts, the cache could return a client/credential scoped to one account when servicing a request for a same-named role in another, and stsRoleForAccount did not reject resolution when no per-account STS configuration existed and the account differed from the configured default. The patch restructures both maps into a three-level key of region → accountID → stsRole, adds an explicit error when no STS config exists for a non-default account, and adds a regression test (TestClientCache) asserting that IAM clients for different accounts are isolated in the cache. The plugin generates AWS credentials derived from IAM policies, which is why a bypass translates into credential exposure and privilege escalation rather than merely an authentication nuisance.

RemediationAI

Vendor-released patch: upgrade the auth-aws plugin to version 0.1.1 (fixed in 0.1.1; vulnerable <= 0.1.0), available from the advisory at https://github.com/openbao/openbao-plugins/security/advisories/GHSA-jp7h-4f3c-9rc7 and the fix commit at https://github.com/openbao/openbao-plugins/commit/2a77af36834746ca6d3ac9bd1049154c84b3efae, which keys the EC2/IAM client caches by region, account ID, and STS role and rejects requests for non-default accounts lacking STS configuration. If an immediate upgrade is not possible, the primary and most effective workaround is to guarantee that IAM role names are unique across every AWS account that could interact with OpenBao: audit the AWS organization for duplicate names and rename them using account-specific identifiers, since removing wildcards from bound_iam_principal_arn is a good hardening step but will NOT mitigate the flaw while duplicate names persist (trade-off: renaming roles can break existing policy attachments or trust relationships and requires coordinated change management). Additionally, restrict each OpenBao AWS auth role to specific bound_iam_principal_arn values and tighten trust policies on roles assumed by the plugin, accepting that these reduce but do not eliminate exposure in collision scenarios. Environments that are single-account, or that already enforce globally unique IAM role names, are not affected and need not treat this as urgent.

CVE-2024-2048 CRITICAL
9.8 Mar 04

Vault and Vault Enterprise (“Vault”) TLS certificate auth method did not correctly validate client certificates when con

CVE-2026-63132 CRITICAL
9.2 Sep 22

Timing-based leakage of the single recovery token in OpenBao lets a remote, unauthenticated attacker who can reach the i

CVE-2025-54997 CRITICAL
9.1 Aug 09

OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certifi

CVE-2024-7594 HIGH
8.8 Sep 26

Vault’s SSH secrets engine did not require the valid_principals list to contain a value by default. Rated high severity

CVE-2026-71543 HIGH
7.5 Sep 21

OpenBao versions prior to 2.6.0 fail to reject syntax-significant characters when templated identity data is substituted

CVE-2025-52894 HIGH
7.5 Jun 25

OpenBao versions before 2.3.0 contain an unauthenticated denial-of-service vulnerability in the root rekey and recovery

CVE-2025-64761 HIGH
7.5 Nov 25

OpenBao is an open source identity-based secrets management system. Rated high severity (CVSS 7.5), this vulnerability i

CVE-2024-8185 HIGH
7.5 Oct 31

Vault Community and Vault Enterprise (“Vault”) clusters using Vault’s Integrated Storage backend are vulnerable to a den

CVE-2024-9180 HIGH
7.2 Oct 10

A privileged Vault operator with write permissions to the root namespace’s identity endpoint could escalate their own or

CVE-2025-54998 MEDIUM
5.3 Aug 09

OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certifi

CVE-2026-39946 MEDIUM
4.6 Apr 21

OpenBao 2.5.2 and earlier fails to properly quote PostgreSQL schema names during role revocation in the PostgreSQL datab

CVE-2025-4166 MEDIUM
4.5 May 02

Vault Community and Vault Enterprise Key/Value (kv) Version 2 plugin may unintentionally expose sensitive information in

Share

CVE-2025-59048 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy