{"id":"CVE-2026-62263","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-62263","summary":"OpenAM: WebAuthn Java deserialization RCE via ObjectInputFilter depth>1 bypass","details":"### Summary\nThe 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.\n\n### Impact\nAn 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`.","published":"2026-07-24T21:08:46Z","modified":"2026-07-24T21:16:20.152062371Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Maven","name":"org.openidentityplatform.openam:openam-auth-webauthn","fixedVersion":"16.1.2"}],"fix":{"url":"https://github.com/OpenIdentityPlatform/OpenAM/commit/9dd0fbe07f70f118cf45042d3a9ffb32f3c21e08","label":"OpenIdentityPlatform/OpenAM@9dd0fbe"},"references":[{"type":"WEB","url":"https://github.com/OpenIdentityPlatform/OpenAM/security/advisories/GHSA-gf8h-gq53-288j"},{"type":"WEB","url":"https://github.com/OpenIdentityPlatform/OpenAM/commit/9dd0fbe07f70f118cf45042d3a9ffb32f3c21e08"},{"type":"PACKAGE","url":"https://github.com/OpenIdentityPlatform/OpenAM"},{"type":"WEB","url":"https://github.com/OpenIdentityPlatform/OpenAM/releases/tag/16.1.2"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-07-24T21:16:20.152062371Z"}}