This is a concurrency issue that can result in the wrong caller principal being returned from the session context of an EJB that is configured with a RunAs principal. In particular, the org.jboss.as.ejb3.component.EJBComponent class has an incomingRunAsIdentity field. This field is used by the org.jboss.as.ejb3.security.RunAsPrincipalInterceptor to keep track of the current identity prior to switching to a new identity created using the RunAs principal. The exploit consist that the EJBComponent#incomingRunAsIdentity field is currently just a SecurityIdentity. This means in a concurrent environment, where multiple users are repeatedly invoking an EJB that is configured with a RunAs principal, it's possible for the wrong the caller principal to be returned from EJBComponent#getCallerPrincipal. Similarly, it's also possible for EJBComponent#isCallerInRole to return the wrong value. Both of these methods rely on incomingRunAsIdentity. Affects all versions of JBoss EAP from 7.1.0 and all versions of WildFly 11+ when Elytron is enabled.
References
Link | Resource |
---|---|
https://bugzilla.redhat.com/show_bug.cgi?id=2060929#c0 | Issue Tracking Mitigation Vendor Advisory |
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2022-05-10 21:15
Updated : 2024-02-28 19:09
NVD link : CVE-2022-0866
Mitre link : CVE-2022-0866
CVE.ORG link : CVE-2022-0866
JSON object : View
Products Affected
redhat
- jboss_enterprise_application_platform
- wildfly
- openstack_platform
CWE
CWE-863
Incorrect Authorization