¡¾·ì϶¹«¸æ¡¿Apache Log4j2»Ø¾ø·þÎñ·ì϶£¨CVE-2021-45046£©

°ä²¼¹¦·ò 2021-12-16


0x00 ·ì϶¸ÅÊö

CVE     ID

CVE-2021-45046

ʱ      ¼ä

2021-12-14

Àà      ÐÍ

Dos

µÈ      ¼¶

ÖÐΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò


¹¥»÷¸´ÔÓ¶È

¸ß

¿ÉÓÃÐÔ

µÍ

Óû§½»»¥

 ÎÞ

ËùÐèȨÏÞ

ÎÞ

PoC/EXP


ÔÚÒ°ÀûÓÃ


 

0x01 ·ì϶ÏêÇé

image.png

Apache Log4j2ÊÇÒ»¸ö¿ªÔ´µÄJavaÈÕÖ¾¿ò¼Ü£¬£¬±»¿í·ºµØÀûÓÃÔÚÖÐÑë¼þ¡¢¿ª·¢¿ò¼ÜÓëWebÀûÓÃÖС£

²¿Ãʦ·òÏß

11ÔÂ24ÈÕ£º£º£º°¢ÀïÔÆ°²È«ÍŶÓÏòApache¹Ù·½»ã±¨ÁËApache  Log4j2Ô¶³Ì´úÂëÖ´Ðзì϶CVE-2021-44228£»

12ÔÂ7ÈÕ£º£º£ºApache Log4j2¹Ù·½°ä²¼log4j2-2.15.0-rc1²¢µÚÒ»´ÎÐÞ¸´CVE-2021-44228·ì϶£»

12ÔÂ9ÈÕ£º£º£ºOG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½Apache Log4j2 Ô¶³Ì´úÂëÖ´Ðзì϶CVE-2021-44228£¨CVSSÆÀ·Ö10.0£©£¬£¬¸÷²úÆ·Ïß·¢Õ¹Ó¦¼±ÏìÓ¦´ëÖá£

12ÔÂ14ÈÕ£º£º£ºOG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½Apache Log4j 1.2Ô¶³Ì´úÂëÖ´Ðзì϶CVE-2021-4104£¨CVSSÆÀ·Ö6.6£©¡£

12ÔÂ15ÈÕ£º£º£ºOG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½Apache Log4j2»Ø¾ø·þÎñ·ì϶CVE-2021-45046£¨CVSSÆÀ·Ö3.7£©¡£

 

Apache Log4j2¹Ù·½ÐÞ¸´¹æ»®

12ÔÂ7ÈÕ£º£º£ºApache Log4j2¹Ù·½°ä²¼log4j2-2.15.0-rc1²¢µÚÒ»´ÎÐÞ¸´CVE-2021-44228£»

12ÔÂ10ÈÕ£º£º£ºlog4j2-2.15.0-rc1´æÔÚBypass£¬£¬Apache Log4j2¹Ù·½°ä²¼log4j2-2.15.0-rc2ÐÞ¸´bypass·ì϶¡£

 12ÔÂ11ÈÕ£º£º£ºApache Log4j2¹Ù·½°ä²¼ÁË2.15.0 °æ±¾£¬£¬ÒÔÐÞ¸´CVE-2021-44228¡£¹ÌÈ» 2.15.0 °æ±¾½â¾öÁËMessage LookupsÖ°ÄܺÍJNDI ½Ó¼û·½Ê½µÄÎÊÌ⣬£¬µ« Log4jÍŶÓÒÔΪĬÈÏÆôÓà JNDI ´æÔÚ°²È«·çÏÕ£¬£¬ÇÒ2.15.0°æ±¾´æÔÚCVE-2021-45046·ì϶¡£

12ÔÂ13ÈÕ£º£º£ºApache Log4j2¹Ù·½°ä²¼ÁËLog4j 2.16.0°æ±¾£¨Java 8»ò¸ü¸ß°æ±¾£©£¬£¬¸Ã°æ±¾É¾³ýÁËMessage LookupsÖ°Äܲ¢Ä¬ÈϽûÓÃJNDIÖ°ÄÜ£¬£¬²¢´Ó¸Ã°æ±¾ÆðͷĬÈϽûÓÃJNDIÖ°ÄÜ£¬£¬µ«Äܹ»Í¨¹ý½«log4j2.enableJndiÉèÖÃΪ true ÒÔÆôÓà JNDI¡£´ËÍ⣬£¬Log4j´Ë¿Ì½«ºÍ̸ĬÈÏÏÞ¶ÈΪ½öjava¡¢ldapºÍldaps£¬£¬²¢½«ldapºÍ̸ÏÞ¶ÈΪֻÄܽӼûJavaԭʼ¶ÔÏó¡£±¾µØÖ÷»úÒÔÍâµÄÖ÷»ú±ØÒª±»Ã÷È·ÔÊÐí¡£

12ÔÂ15ÈÕ£º£º£ºApache Log4j2¹Ù·½°ä²¼ÁËApache Log4j 2.12.2°æ±¾£¬£¬¸Ã°æ±¾ÐÞ¸´ÁËCVE-2021-44228ºÍCVE-2021-45046£¬£¬ºÏÓÃÓÚÈÔÔÚʹÓÃJava 7µÄÓû§¡£

 

¹©¸øÁ´Ó°Ïì

ƾ¾Ý·ÇȨÍþͳ¼Æ£¬£¬Ö±½ÓºÍ¼ä½ÓÒýÓÃLog4jµÄ¿ªÔ´×é¼þÔ¤¼Æ³¬¹ý17Íò¸ö¡£Ä¿Ç°ÒÑÖªµÄÊÜÓ°ÏìµÄÀûÓúÍ×é¼þÔ̺¬£º£º£ºApache Solr¡¢Apache Struts2¡¢Apache Flink¡¢Apache Druid¡¢Apache Log4j SLF4J  Binding¡¢spring-boot-strater-log4j2¡¢Hadoop Hive¡¢ElasticSearch¡¢Jedis¡¢Logging¡¢LogstashÒÔ¼°VMware¶à¸ö²úÆ·µÈ¡£

ÓÉÓڸ÷ì϶µÄÓ°ÏìÁìÓòÊÇÈ«ÇòÐԵ쬣¬¹úÍâ¸÷´ó³ÛÃûÆóÒµºÍ×éÖ¯µÄ²úÆ·¾ùÊÜÓ°Ï죬£¬ÈçAmazon¡¢Apache¡¢Atlassian¡¢Cisco¡¢Debian¡¢Docker¡¢Fortinet¡¢Google¡¢IBM¡¢Ó¢Ìضû¡¢Juniper Networ¡¢Î¢Èí¡¢Oracle¡¢Red Hat¡¢UbuntuºÍVMwareµÈ¡£

CVE-2021-44228·ì϶µÄÀûÓÃÄѶȵͣ¬£¬Ä¬ÈÏÅäÖü´¿ÉÔ¶³ÌÀûÓ㬣¬ÇÒPoC/EXPÒÑÔÚ»¥ÁªÍøÉϹ«¿ª£¬£¬ÏÖÒѱ»ÍøÂç·¸×ïÍÅ»ï¿í·ºÀûÓá£

 

·ì϶ӰÏìÁìÓò

CVE-2021-4104£º£º£ºApache Log4j 1.2

CVE-2021-44228£º£º£ºApache Log4j 2.0-beta9 - 2.12.1 ¡¢Apache Log4j 2.13.0 - 2.15.0-rc1

CVE-2021-45046£º£º£ºApache Log4j 2.0-beta9 - 2.12.1¡¢Apache Log4j 2.13.0-2.15.0


0x02 ´ëÖý¨Òé

1.ͨÓÃÐÞ¸´¹æ»®

ÒÑÉý¼¶µ½ Log4j 2.15.0 °æ±¾µÄÓû§½¨ÒéÉý¼¶µ½ Log4j 2.16.0 ÒÔÔ¤·ÀÕë¶ÔCVE-2021-44228 ºÍ CVE-2021-45046·ì϶µÄ¹¥»÷ ¡£

CVE-2021-4104£º£º£º

Apache Log4j 1.2ÖдæÔÚRCE·ì϶£¨CVE-2021-4104£¬£¬½öÅäÖÃΪʹÓÃJMSAppenderʱ´æÔÚ£¬£¬·ÇĬÈÏ£©£¬£¬½¨ÒéÓйØÓû§Éý¼¶µ½Log4j 2µÄ×îа汾¡£

»º½â´ëÊ©£º£º£º

l  ×¢½â»òɾ³ý Log4j ÅäÖÃÖÐµÄ JMSAppender¡£

l  ʹÓô˺ÅÁî´Ólog4j jar°üÖÐɾ³ý JMSAppender ÀàÎļþ£º£º£º

l  zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class

²Î¿¼Á´½Ó£º£º£º

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C1a5a0193-71c4-0613-ca92-f50f801543d9@apache.org%3E

 

CVE-2021-44228£º£º£º

Log4j 1.x£º£º£º²»ÊÜCVE-2021-44228·ì϶ӰÏì¡£

Log4j 2.x£º£º£º

l  ÊÜÓ°ÏìÓû§Ó¦Éý¼¶µ½Apache Log4j 2.15.0-rc2¼°ÒÔÉϰ汾£¬£¬½¨ÒéÉý¼¶µ½ 2.16.0 °æ±¾£¨Java 8»ò¸ü¸ß°æ±¾£©¡£

l  ʹÓÃJava 7µÄÓû§Ó¦Éý¼¶µ½Apache Log4j 2.12.2°æ±¾¡£

l  ɾ³ý JndiLookup Àࣺ£º£ºzip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

²Î¿¼Á´½Ó£º£º£º

https://logging.apache.org/log4j/2.x/index.html

 

CVE-2021-45046£º£º£º

Log4j 1.x£º£º£º²»ÊÜCVE-2021-45046·ì϶ӰÏì¡£

Log4j 2.x£º£º£º

l  Java 8»ò¸ü¸ß°æ±¾Ó¦Éý¼¶µ½ Apache Log4j 2.16.0 °æ±¾¡£

l  ʹÓÃJava 7 µÄÓû§Ó¦Éý¼¶µ½Apache Log4j 2.12.2°æ±¾¡£

l  ɾ³ý JndiLookup Àࣺ£º£º zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

²Î¿¼Á´½Ó£º£º£º

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C13e07d4e-ceb6-e510-be98-7d2ee8fa0a85@apache.org%3E

ÏÂÔØÁ´½Ó£º£º£º

https://logging.apache.org/log4j/2.x/download.html

×¢£º£º£ºÖ»ÓÐlog4j-core JARÎļþÊÜCVE-2021-44228ºÍCVE-2021-45046·ì϶µÄÓ°Ï졣ֻʹÓÃlog4j-api JARÎļþ¶ø²»Ê¹ÓÃlog4j-core JARÎļþµÄÀûÓ÷¨Ê½²»»áÊܵ½Ó°Ïì¡£

 

2.ͨÓÃһʱ¹æ»®£¨CVE-2021-44228£©

l  ½¨ÒéJDKʹÓÃ6u211¡¢7u201¡¢8u191¡¢11.0.1¼°ÒÔÉϵİ汾£»

l  ¶ÔÓÚ>=2.10°æ±¾£º£º£º

Ôö³¤jvmÆô¶¯²ÎÊý:-Dlog4j2.formatMsgNoLookups=true£»

ÔÚlog4j2.component.propertiesÅäÖÃÎļþÖÐÔö³¤ÈçÏÂÄÚÈÝ£º£º£ºlog4j2.formatMsgNoLookups=true£»

ϵͳ»·¾³±äÁ¿Öн«LOG4J_FORMAT_MSG_NO_LOOKUPSÉèÖÃΪtrue£»

l  ¶ÔÓÚ2.7-2.14.1°æ±¾£º£º£º

Äܹ»Åú¸ÄËùÓÐPatternLayoutģʽ£¬£¬½«ÐÂÎÅת»»Æ÷Ö¸¶¨Îª%m{nolookups}£¬£¬¶ø²»½ö½öÊÇ%m¡£

l  ¶ÔÓÚ2.0-beta9-2.7°æ±¾£º£º£º

ΨһµÄ»º½â´ëÊ©ÊÇɾ³ýjndiookupÀࣺ£º£ºzip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

l  ²»ÈÝ×°ÖÃlog4jµÄ·þÎñÆ÷½Ó¼ûÍâÍø£¬£¬²¢ÔÚÌìǵ¶ÔdnslogÓйØÓòÃû½Ó¼û½øÐмì²â¡£


0x03 ²Î¿¼Á´½Ó

https://github.com/apache/logging-log4j2

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

https://mp.weixin.qq.com/s/J5H9aZVhwQaVn3LvKi2Kqw

https://logging.apache.org/log4j/2.x/security.html#CVE-2021-44228

https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance

 

0x04 ¸üа汾

°æ±¾

ÈÕÆÚ

Åú¸ÄÄÚÈÝ

V1.0

2021-12-9

³õ´Î°ä²¼

V2.0

2021-12-10

Åú¸Äϸ½Ú

V3.0

2021-12-10

Åú¸Äbug

V4.0

2021-12-12

ÐÂÔöCVE£­ID¼°²¿ÃÅÄÚÈÝ¡¢Åú¸Ä»º½â´ëÊ©¡£

V5.0

2021-12-14

Åú¸Ä´ëÖý¨Òé

V6.0

2021-12-16

Åú¸Äϸ½Ú


0x05 ¹ØÓÚOG¶«·½Ìü

OG¶«·½Ìü¼ò½é

OG¶«·½Ìü¹«Ë¾³ÉÁ¢ÓÚ1996Ä꣬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬ÊǹúÄÚ¼«¾ßʵÁ¦µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂ簲ȫ²úÆ·¡¢¿ÉÐŰ²È«ÖÎÀíÆ½Ì¨¡¢°²È«·þÎñÓë½â¾ö¹æ»®µÄ×ÛºÏÌṩÉÌ¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÇþµÀϵͳºÍ¼¼ÊõÖ§³ÖÖÐÐÄ£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡£¡£¡¢³É¶¼¡¢ÕÑͨ¡¢³¤É³¡¢¾£ÃÅµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£

¶àÄêÀ´£¬£¬OG¶«·½ÌüÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£


¹ØÓÚOG¶«·½Ìü

OG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶ÔÖØÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£

¹Ø×¢ÒÔϹ«¼ÒºÅ£¬£¬»ñȡȫÇò×îа²È«×ÊѶ£º£º£º

image.png