Executive brief
OpenAM is an open-source access management solution. A security flaw in its WebAuthn authentication component allows an unauthenticated attacker to execute arbitrary code on the server. This could lead to a complete system takeover, theft of sensitive user data, and disruption of authentication services.
Technical details
The vulnerability exists in the WebAuthn authenticator deserialization logic. While an ObjectInputFilter was implemented to restrict deserialization to the AuthenticatorImpl class, the filter contains a logic error that automatically allows any object at a stream depth greater than 1. An attacker can exploit this by crafting a serialized stream rooted at AuthenticatorImpl that contains a malicious gadget chain nested within it. Since the filter is bypassed for nested objects, the gadget's readObject or readResolve methods execute before any type casting or validation occurs. This allows for unauthenticated RCE via an attacker-controlled userHandle. The issue is patched in version 16.1.2.
Affected products
- OpenIdentityPlatform openam-auth-webauthn <= 16.1.1
Timeline
- 2026-07-23: patched: Fixed in version 16.1.2
- 2026-07-24: advisory: GitHub Advisory published