OpenAM: Unauthenticated Remote Code Execution via Class.forName in AuthXMLUtils.createCustomCallback
Summary
A pre-authentication remote code execution vulnerability affects OpenAM. The
remote authentication endpoint (/authservice, PLL) accepts an XML element
that names an arbitrary Java class, which the server then loads and
instantiates without validation. On a default configuration this is reachable
without authentication and allows an attacker to run code on the server.
Impact
Unauthenticated remote code execution / full server compromise on any OpenAM instance with default settings.
Affected
All releases up to and including 16.1.1 (the defect predates the Open Identity Platform fork).
Remediation
Upgrade to 16.1.2. The fix resolves the class named in a <CustomCallback>
element without running its static initialisers and rejects it unless it
implements DSAMECallbackInterface, and it constrains deserialisation of the
serialised Subject value to a class allowlist.
Interim mitigation
If you cannot upgrade immediately:
- Restrict or block external network access to
/authservice. This is the only reliable mitigation. - Optionally, block PLL requests carrying a
<CustomCallback className="...">element at the reverse proxy or WAF. That element is only produced for customDSAMECallbackInterfacecallbacks, so most deployments never send it — confirm against your own traffic before enforcing. - Enabling
sunRemoteAuthSecurityEnableddoes not mitigate this issue. The remote-auth security token is checked inAuthXMLHandler.processAuthXMLRequest, which runs only afterAuthXMLRequest.parseXMLhas already parsed the request and instantiated the class named in the<CustomCallback className="...">element. Do not rely on it as a substitute for upgrading or for network restriction.
Credit
Vulnerability discovered by Zhixi "Jace" Sun of ASM/VI at TikTok. Correction of the interim mitigation guidance contributed by @BarakSrour.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Java / Kotlin (Maven) | org.openidentityplatform.openam:openam-core | < 16.1.2 | 16.1.2 |
Referencias
- Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Debilidad (CWE)
CWE-470, CWE-94- Plataforma
- Java / Kotlin (Maven)
- Paquete
org.openidentityplatform.openam:openam-core- Publicada
- 24.07.2026
- Actualizado
- 11.10.2026 12:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-wg5r-wc3x-39vc - CC BY 4.0
Historial de vulnerabilidades: org.openidentityplatform.openam:openam-core
Todas las vulnerabilidades publicadas de este paquete (Java / Kotlin (Maven)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 5
- Primera → última
- 06.2022 08.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Crítica 1
- Alta 2
- Media 2
Divulgaciones por año
- 2022: 1
- 2023: 0
- 2024: 0
- 2025: 0
- 2026: 4
-
OpenAM: Unauthenticated Remote Code Execution via Class.forName in AuthXMLUtils.createCustomCallback esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.