漏洞概述
这是一个反序列化漏洞,是一条新的gadget,在低版本的JDK中可能会造成RCE风险。
漏洞分析
测试环境weblogic14c版本,测试JDK 1.8版本。
首先会调用BadAttributeValueExpException.readObject方法。
接着会调用SessionData.toString方法
接着会调用SessionData.isDebuggingSession方法
接着会调用SessionData.getAttribute方法
接着会调用SessionData.getAttributeInternal方法
接着会调用AttributeWrapperUtils.unwrapObject方法
接着会调用AttributeWrapperUtils.unwrapEJBObjects方法
接着会调用BusinessHandleImpl.getBusinessObject方法
接着会调用HomeHandleImpl.getEJBHome方法
可以看到这里调用了ctx.lookup方法
修复建议
及时更新补丁,参考oracle官网发布的补丁:
https://www.oracle.com/security-alerts/cpujan2022.html