Wildfly's IIOP listener may permit deserialization of input streams before authentication is performed. An attacker who can gain access to the IIOP port may be able to construct and send malicious objects and achieve deserialization, if the target EJB allows untyped method parameters, and depending on the potential gadget chains available in the running classpath.
Restrict network reachability to the IIOP listener (default TCP port 3528) so that only localhost or authorized management networks can access it.
-
Restrict port exposure using firewalld:
bash
firewall-cmd --permanent --remove-port=3528/tcp
firewall-cmd --reload
-
If CORBA/IIOP interoperability is not required by deployed applications, remove the IIOP subsystem using the JBoss Management CLI:
bash
jboss-cli.sh --connect --command="/subsystem=iiop-openjdk:remove"
Caveats:
Removing the IIOP subsystem will break remote EJB invocations or external services that rely on CORBA/IIOP protocols.
Warning:
Applying firewall changes or removing server subsystems will disrupt active client connections and requires reloading the server configuration or restarting the JBoss EAP service to take full effect.