CVE-2026-46623
moderateOAuth2 password rewrite enables account takeover in OpenAM prior to 16.1.1
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.
| OpenIdentityPlatform Open Access Management (OpenAM) | all versions prior to 16.1.1 (< 16.1.1) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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 news0 stories
No ingested article mentions this CVE yet.