---
id: "CVE-2026-47426"
kind: "vulnerability"
aliases: ["CVE-2026-47426", "GHSA-f2cx-463q-7m2c"]
title: "OpenAM OAuth Client Impersonation via JWKS Resolver Cache"
severity: "high"
cvss: 7.6
epss: 0.00554
exploited: false
status: "open"
category: "package"
products: [{"name": "org.openidentityplatform.openam:openam-oauth2", "fixed": ["16.1.1"], "affected": "<= 16.0.6", "ecosystem": "maven"}]
ecosystems: ["maven"]
tags: ["cwe-287", "identity", "oauth2", "openam", "package", "self-hosted"]
not_affected_if: ["no-jwks-uri-keys", "no-private-key-jwt-clients", "patched-16.1.1-or-later"]
published_at: "2026-06-29T17:44:37+00:00"
first_seen_at: "2026-10-28T15:29:41+00:00"
updated_at: "2026-10-28T15:33:37+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-f2cx-463q-7m2c", "first_seen_at": "2026-10-28T15:29:41+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-47426", "first_seen_at": "2026-10-28T15:33:37+00:00"}]
---

# OpenAM OAuth Client Impersonation via JWKS Resolver Cache

OpenAM's OAuth2 private_key_jwt client authentication caches keys fetched from jwks_uri, so a registered client can mint access tokens as another client whose key is published that way, without holding that client's signing key. An attacker gets tokens in the victim client's name across realms hosted by the OpenAM process.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- maven:org.openidentityplatform.openam:openam-oauth2 affected <= 16.0.6 fixed 16.1.1

## How to check

- Check the deployed OpenAM version and confirm it is `16.1.1` or later, for example by reading the openam-oauth2 version in the Maven dependency tree
- List OAuth2 clients using private_key_jwt with keys from jwks_uri in the OpenAM admin console, and check whether open dynamic client registration is enabled

## Fix

- Upgrade OpenAM Community Edition to `16.1.1` or later, the first patched version
- Until upgraded, disable open dynamic client registration if it is enabled, since it lets outsiders obtain client registrations

## Timeline

- 2026-10-28T15:29:41+00:00 ghsa https://github.com/advisories/GHSA-f2cx-463q-7m2c
- 2026-10-28T15:33:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-47426

## From the sources

## Summary

**Description**

An Improper Authentication (CWE-287) issue in OpenAM's OAuth2 private_key_jwt client authentication path allows any registered OAuth2 client to mint tokens in the name of any other client whose key is published via a jwks_uri, without knowing the victim's signing key. This affects OpenAM Community Edition through version 16.0.6 and was patched in version 16.1.1.

## Impact

OpenAM Community Edition deployments through version 16.0.6 that have OAuth2 clients configured for private_key_jwt authentication with keys published via jwks_uri are potentially affected. An attacker holding any such client registration, their own, or one obtained through open dynamic client registration where enabled, can mint access tokens in any other such client's name, in any realm hosted by the OpenAM process.

## Patch
This has been patched in OpenAM Community Edition version 16.1.1. Users are encouraged to update to the latest release.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
