一、漏洞描述:
近期,反序列化任意代碼執行漏洞持續發酵,越來越多的系統被爆出存在此漏洞。Apache Commons工具集廣泛應用於JAVA技術平台,存在Apache Commons Components InvokerTransformer反序列化任意代碼執行漏洞, WebLogic、IBM WebSphere、JBoss、Jenkins和OpenNMS等應用都大量調用了Commons工具集,通過遠程代碼執行可對上述應用發起遠程攻擊。
二、漏洞解決辦法:
1 使用 SerialKiller 替換進行序列化操作的 ObjectInputStream 類;
2 在不影響業務的情況下,臨時刪除掉項目里的“org/apache/commons/collections/functors/InvokerTransformer.class” 文件;
在服務器上找org/apache/commons/collections/functors/InvokerTransformer.class類的jar,目前weblogic10以后都在Oracle/Middleware/modules下com.bea.core.apache.commons.collections_3.2.0.jar,創建臨時目錄tt,解壓之后刪除InvokerTransformer.class類后再打成com.bea.core.apache.commons.collections_3.2.0.jar覆蓋Oracle/Middleware/modules下,重啟所有服務。如下步驟是linux詳細操作方法:
A)mkdir tt
B)cp -r Oracle/Middleware/modules/com.bea.core.apache.commons.collections_3.2.0.jar ./tt
C)jar xf Oracle/Middleware/modules/com.bea.core.apache.commons.collections_3.2.0.jar
D)cd org/apache/commons/collections/functors
E)rm -rf InvokerTransformer.class
F)jar cf com.bea.core.apache.commons.collections_3.2.0.jar org/* META-INF/*
G)mv com.bea.core.apache.commons.collections_3.2.0.jar Oracle/Middleware/modules/
H)重啟服務
三、漏洞解決辦法:
1、假如不是處理weblogic自帶的com.bea.core.apache.commons.collections_3.2.0.jar,而是修改應用代碼collections_*.jar,一定在發版本不能覆蓋。應用覆蓋、備份恢復的時候和發版本的時候也請切記不要覆蓋掉修改后的JAR文件。
2、重啟服務時候要刪除server-name下的cache和tmp
例如rm -rf ~/user_projects/domains/base_domain/servers/AdminServer/cache
rm -rf ~/user_projects/domains/base_domain/servers/AdminServer/tmp