一(yī)、漏洞描述:
當攻擊者具有對Log4j配置的寫訪問權限時,Log4j 1.2中(zhōng)的JMSAppender容易受到不受信任數據反序列化的攻擊。攻擊者可以提供TopicBindingName和TopicConnectionFactoryBindingName配置,導緻JMSApender執行JNDI請求,從而以與CVE-2021-44228類似的方式執行遠程代碼。
注意:當專門配置使用JMSApender時,此問題僅影響Log4j 1.2,這不是默認設置。Apache Log4j 1.2于2015年8月終止使用。用戶應該升級到Log4j 2,因爲它解決了以前版本中(zhōng)的許多其他問題。
二、漏洞利用方式:
由于此漏洞的利用方式與CVE-2021-44228相同,已有規則可以滿足攻擊檢測需要。
三、處置方法:
(一(yī))升級Log4j到最新版本
(二)若暫時無法進行升級操作,可先用下(xià)列措施進行臨時緩解:
1、添加jvm參數啓動:-Dlog4j2.formatMsgNoLookups=true
2、在應用的classpath下(xià)添加log4j2.component.properties配置文件,文件内容爲:log4j2.formatMsgNoLookups=true
3、設置系統環境變量 LOG4J_FORMAT_MSG_NO_LOOKUPS=true
4、使用下(xià)列命令,移除log4j-core包中(zhōng)的JndiLookup類文件:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
注:當且僅當Apache
Log4j >= 2.10版本時,可使用1、2、3、4的任一(yī)措施進行防護。
5、采用人工(gōng)方式禁用JNDI,例:在spring.properties裏添加spring.jndi.ignore=true
6、建議使用JDK在11.0.1、8u191、7u201、6u211及以上的高版本,可在一(yī)定程度防止RCE。
7、限制受影響應用對外(wài)訪問互聯網,并在邊界對dnslog相關域名訪問進行檢測。
部分(fēn)公共dnslog平台如下(xià):
ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
burpcollaborator.net
s0x.cn