GitHub Advisoryadvisory · Maven
GHSA-gf8h-gq53-288j OpenAM: WebAuthn Java deserialization RCE via ObjectInputFilter depth>1 bypass
CRITICAL
Official page ↗
- Aliases
- CVE-2026-62263
- Ecosystem
- Maven
- Packages
- org.openidentityplatform.openam:openam-auth-webauthn
- Severity
- Critical
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Weaknesses
- CWE-502
- Reviewed
- 2026-07-24
Affected packages
• Maven org.openidentityplatform.openam:openam-auth-webauthn: < 16.1.2 → fixed in 16.1.2
Description
Summary
The GHSA-6c99-87fr-6q7r fix wrapped WebAuthn authenticator deserialization in an `ObjectInputFilter` meant to allow only `AuthenticatorImpl`, but it short-circuits to `ALLOWED` for any object at stream `depth > 1`. Because the Java serialization filter is consulted for every class in the graph (and `depth == 1` only for the root's concrete class), the allowlist constrains only the root and leaves the entire nested graph unchecked.
Impact
An attacker can craft a stream rooted at `AuthenticatorImpl` with an arbitrary gadget chain nested inside. The gadget's `readObject`/`readResolve` executes during `readObject()` — before the cast and before any assertion verification — enabling remote code execution when a gadget is on the classpath. The deserialization sink is reached pre-authentication via an attacker-chosen `userHandle`.
Related
Alias · CVE (1)
- CVE-2026-62263 Open Access Management (OpenAM) is an access management solution. vulnerability
Weakness · CWE (1)
- CWE-502 Deserialization of Untrusted Data weakness
References
- https://github.com/OpenIdentityPlatform/OpenAM/security/advisories/GHSA-gf8h-gq53-288j web
- https://github.com/OpenIdentityPlatform/OpenAM/commit/9dd0fbe07f70f118cf45042d3a9ffb32f3c21e08 web
- https://github.com/OpenIdentityPlatform/OpenAM package
- https://github.com/OpenIdentityPlatform/OpenAM/releases/tag/16.1.2 web