¡¾Îó²îͨ¸æ¡¿Apache Log4j2¾Ü¾øÐ§ÀÍÎó²î£¨CVE-2021-45046£©
Ðû²¼Ê±¼ä 2021-12-160x00 Îó²î¸ÅÊö
CVE ID | CVE-2021-45046 | ʱ ¼ä | 2021-12-14 |
Àà ÐÍ | Dos | µÈ ¼¶ | ÖÐΣ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ | |
¹¥»÷ÖØÆ¯ºó | ¸ß | ¿ÉÓÃÐÔ | µÍ |
Óû§½»»¥ | ÎÞ | ËùÐèȨÏÞ | ÎÞ |
PoC/EXP | ÔÚҰʹÓà |
0x01 Îó²îÏêÇé
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ÈÕ£º¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½Apache Log4j2 Ô¶³Ì´úÂëÖ´ÐÐÎó²îCVE-2021-44228£¨CVSSÆÀ·Ö10.0£©£¬£¬£¬£¬£¬£¬£¬¸÷²úÆ·Ïß¿ªÕ¹Ó¦¼±ÏìÓ¦´¦Öóͷ£¡£¡£¡£
12ÔÂ14ÈÕ£º¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½Apache Log4j 1.2Ô¶³Ì´úÂëÖ´ÐÐÎó²îCVE-2021-4104£¨CVSSÆÀ·Ö6.6£©¡£¡£¡£
12ÔÂ15ÈÕ£º¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐļà²âµ½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 ¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£Íø¼ò½é
¼øºÚµ£±£Íø¹«Ë¾½¨ÉèÓÚ1996Ä꣬£¬£¬£¬£¬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬£¬£¬£¬£¬£¬ÊǺ£ÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÇå¾²²úÆ·¡¢¿ÉÐÅÇå¾²ÖÎÀíÆ½Ì¨¡¢Ç徲ЧÀÍÓë½â¾ö¼Æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬£¬£¬£¬£¬£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬£¬£¬£¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÇþµÀϵͳºÍÊÖÒÕÖ§³ÖÖÐÐÄ£¬£¬£¬£¬£¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖÝµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£
¶àÄêÀ´£¬£¬£¬£¬£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬£¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£
¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬£¬£¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º