ZeroHour

CVE-2026-46623

moderate

OAuth2 password rewrite enables account takeover in OpenAM prior to 16.1.1

CVSS 4.0
7.4 high
EPSS
Published
()
Modified
AI analysis

Open Access Management (OpenAM), the open-source access management platform, fails to strip restricted attributes in the OAuth2 authentication module before updating a local account, because the OAuth.removeRestrictedAccountUpdateAttributes filtering is missing. When account creation is enabled, repeated OAuth logins for an existing username cause the default ldapService chain to rewrite that account's userPassword to the username itself and to reactivate disabled accounts via the inetUserStatus attribute. An unauthenticated attacker who knows (or guesses) a victim's username can then log in locally with the username serving as both identifier and password, taking over the account without ever interacting with the identity provider. All deployments running versions prior to 16.1.1 with OAuth2 account creation/provisioning enabled are affected; the issue is fixed in OpenAM 16.1.1. No public proof-of-concept or known in-the-wild exploitation has been reported, and the flaw is not on the CISA KEV list.

What to do: Upgrade to OpenAM 16.1.1 as soon as possible. Until then, disable account creation in the OAuth2 authentication module and enforce a minimum password length longer than your maximum username length, since the password rewrite is denied for usernames shorter than the configured minimum. Also audit identity stores for accounts whose password matches their username and for previously disabled accounts (inetUserStatus changes) that were reactivated around OAuth login events.

Affected
OpenIdentityPlatform Open Access Management (OpenAM)all versions prior to 16.1.1 (< 16.1.1)
Estimated exposure
moderatelikely on the order of a few thousand internet-reachable OpenAM deployments, of which only those with OAuth2 account creation enabled are exploitable — OpenAM is a self-hosted, niche open-source IAM platform with no published install counts, but internet-wide scans of its login endpoints historically show low-thousands of exposed instances, and only servers with the vulnerable OAuth2…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Open Access Management (OpenAM) is an access management solution. Prior to 16.1.1, the OAuth2 authentication module updates an existing local account with profile attributes that can include userPassword and inetUserStatus, rewriting the password to the username and reactivating disabled accounts. The missing OAuth.removeRestrictedAccountUpdateAttributes filtering permits these credential and status fields to reach the account update. With account creation enabled, repeated OAuth login causes the default ldapService chain to accept the username as both identifier and password, allowing an unauthenticated attacker to take over the local account without interacting with the identity provider. The rewrite can be denied for usernames shorter than the configured minimum password length. This issue is fixed in version 16.1.1.

Weakness
CWE-620, CWE-1391
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.