A serious vulnerability has been identified in Oracle Fusion Middleware’s Identity Manager, specifically within its REST WebServices component. This flaw is easy for a remote, unauthenticated attacker to exploit over HTTP, and a successful attack can lead to a full compromise of the Identity Manager instance. In other words, an attacker could potentially take complete control of the affected system.
The exposed REST APIs can be discovered by inspecting application.xml inside the container. This descriptor lists the deployed modules, and in this case shows that applicationrest.war is mapped to the context root iam/governance/applicationmanagement, defining the base path for its REST endpoints.
To enumerate the available endpoints, the applicationrest.war file can be copied out of the container:
[oracle@oimms oracle]$ find . -type f -name "applicationrest.war"./idm/server/apps/oim.ear/applicationrest.warkpen::~/oracle/tmp»dockercontainercpoimms:/u01/oracle/idm/server/apps/oim.ear/applicationrest.war.
Inspecting the archive (for example using jd-gui) reveals classes such as WEB-INF/applicationrest-lib.jar/oracle.iam.identityrest/oimrestendpoints/ApplicationrestServiceController.class, which lists the REST endpoints under /iam/governance/applicationmanagement/api/v1/.
Accessing these endpoints unauthenticated results in a basic‑auth challenge, indicating that they are protected. The corresponding configuration in WEB-INF/web.xml shows that the endpoints are guarded by the oracle.wsm.agent.handler.servlet.SecurityFilter:
In a typical Oracle Identity Management installation, this filter resides in OWSM‑related JARs such as wsm-agent-core.jar. Examining the filter logic reveals that it first checks incoming request paths against a WADL_PATTERN. If the path matches this pattern, the filter bypasses authentication entirely.
One of the endpoints exposed through this application, groovyscriptstatus, is designed to compile and validate Groovy scripts, returning either a success or error message. Although intended only for compilation, Groovy supports annotations and AST transformations that can execute logic during the compile phase. This means that even a “compile-only” endpoint can inadvertently execute attacker‑controlled code, making its exposure particularly dangerous.