¡¾Îó²îͨ¸æ¡¿H2Êý¾Ý¿â¿ØÖÆÌ¨Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2021-42392£©

Ðû²¼Ê±¼ä 2022-01-10


0x00 Îó²î¸ÅÊö

2022Äê1ÔÂ6ÈÕ£¬ £¬£¬£¬Ñо¿Ö°Ô±¹ûÕæÅû¶ÁËÔÚ H2 Êý¾Ý¿â¿ØÖÆÌ¨Öз¢Ã÷µÄÀàËÆ Log4Shell µÄÒªº¦ RCE Îó²î£¬ £¬£¬£¬¸ÃÎó²î×·×ÙΪCVE-2021-42392¡£¡£¡£¡£¡£¡£

 

0x01 Îó²îÏêÇé

image.png

H2ÊÇÒ»¸öÊ¢ÐеĿªÔ´Java SQLÊý¾Ý¿â£¬ £¬£¬£¬ËüÌṩÁËÒ»¸öÇáÁ¿¼¶µÄÄÚ´æ½â¾ö¼Æ»®£¬ £¬£¬£¬²»ÐèÒª½«Êý¾Ý´æ´¢ÔÚ´ÅÅÌÉÏ£¬ £¬£¬£¬ÕâʹµÃËü³ÉΪÖÖÖÖÏîÄ¿µÄÊ¢ÐÐÊý¾Ý´æ´¢½â¾ö¼Æ»®¡£¡£¡£¡£¡£¡£

¿ËÈÕ£¬ £¬£¬£¬JFrog Çå¾²Ñо¿ÍŶÓÅû¶ÁËH2 Êý¾Ý¿â¿ØÖÆÌ¨ÖеÄÔ¶³Ì´úÂëÖ´ÐÐÎó²îCVE-2021-42392£¬ £¬£¬£¬¸ÃÎó²îÓëApache Log4j RCEÎó²îCVE-2021-44228Îó²îµÄ»ù´¡Ôµ¹ÊÔ­ÓÉÏàͬ£¬ £¬£¬£¬¼´JNDI Ô¶³ÌÀà¼ÓÔØ¡£¡£¡£¡£¡£¡£

JNDIÊÇJava Naming and Directory InterfaceµÄËõд£¬ £¬£¬£¬ÊÇָΪJavaÓ¦ÓóÌÐòÌṩÃüÃûºÍĿ¼¹¦Ð§µÄAPI£¬ £¬£¬£¬Ëü¿ÉÒÔÁ¬ÏµLDAPʹÓÃAPIÀ´¶¨Î»¿ÉÄÜÐèÒªµÄÌØ¶¨×ÊÔ´¡£¡£¡£¡£¡£¡£

ÓÉÓÚH2Êý¾Ý¿â¿ò¼ÜÖеö´úÂë·¾¶½«Î´¾­ÓÉÂ˵Ĺ¥»÷Õß¿ØÖƵÄURLת´ï¸øjavax.naming.Context.lookupº¯Êý£¬ £¬£¬£¬µ¼ÖÂÔ¶³Ì´úÂë¿â¼ÓÔØ£¨Ò²³ÆJava´úÂë×¢È룩£¬ £¬£¬£¬×îÖÕÔì³Éδ¾­Éí·ÝÑéÖ¤µÄÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£¡£

¸ÃÎó²îÓ°Ïì H2 Êý¾Ý¿â°æ±¾1.1.100£¨2008-10-14£©µ½2.0.204£¨2021-12-21£©£¬ £¬£¬£¬²¢ÒÑÔÚ2022 Äê 1 Ô 5 ÈÕÐû²¼µÄ°æ±¾ 2.0.206 ÖÐÐÞ¸´¡£¡£¡£¡£¡£¡£

H2 Êý¾Ý¿â±»Ðí¶àµÚÈý·½¿ò¼ÜʹÓ㬠£¬£¬£¬ÈçSpring Boot¡¢Play Framework ºÍ JHipsterµÈ¡£¡£¡£¡£¡£¡£ËäÈ»CVE-2021-42392²»ÏñCVE-2021-44228ÄÇÑùÆÕ±é£¬ £¬£¬£¬µ«ÈôÊDz»ÊµÊ±ÐÞ¸´£¬ £¬£¬£¬ËüÈÔÈ»»á¶Ô¿ª·¢Ö°Ô±ºÍÉú²úϵͳ±¬·¢ÖØ´óÓ°Ïì¡£¡£¡£¡£¡£¡£

 

0x02 Σº¦Æ·¼¶

¸ßΣ¡£¡£¡£¡£¡£¡£

 

0x03 Ó°Ïì¹æÄ£

1.1.100<=H2 Console<=2.0.204

 

0x04 Çå¾²½¨Òé

ÏÖÔÚ´ËÎó²îÒѾ­ÐÞ¸´£¬ £¬£¬£¬½¨ÒéËùÓÐ H2 Êý¾Ý¿âÓû§Éý¼¶µ½°æ±¾ 2.0.206£¬ £¬£¬£¬×ÝÈ»²»Ö±½ÓʹÓà H2 ¿ØÖÆÌ¨¡£¡£¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://github.com/h2database/h2database/releases/tag/version-2.0.206


»º½â²½·¥

¹ØÓÚÏÖÔÚÎÞ·¨Éý¼¶H2µÄÓû§£¬ £¬£¬£¬¿ÉÒÔÑ¡ÔñʹÓÃÒÔÏ»º½â¼Æ»®£º

1.ÓëCVE-2021-44228Îó²îÀàËÆ£¬ £¬£¬£¬½Ïа汾µÄJava°üÀ¨trustURLCodebase»º½â²½·¥£¬ £¬£¬£¬²»ÔÊÐíͨ¹ýJNDI¼ÓÔØÔ¶³Ì´úÂë¿â¡£¡£¡£¡£¡£¡£Óû§¿ÉÒÔÉý¼¶Java£¨JRE/JDK£©°æ±¾ÒÔÆôÓøûº½â²½·¥£¬ £¬£¬£¬ÔÚÒÔÏ Java °æ±¾£¨»ò¸ü¸ß°æ±¾£©ÉÏĬÈÏÆôÓô˻º½â²½·¥£¨µ«´ËÒªÁìÒ²¿ÉÄܱ»Èƹý£©£º

l  6u211

l  7u201

l  8u191

l  11.0.1

2.µ±H2 console Servlet°²ÅÅÔÚ Web ЧÀÍÆ÷ÉÏʱ£¨²»Ê¹ÓÃ×ÔÁ¦µÄ H2 Web ЧÀÍÆ÷£©£¬ £¬£¬£¬¿ÉÒÔÌí¼ÓÒ»¸öÇå¾²Ô¼Êø£¬ £¬£¬£¬½öÔÊÐíÌØ¶¨Óû§»á¼û¿ØÖÆÌ¨Ò³Ãæ¡£¡£¡£¡£¡£¡£

×¢£ºH2 ConsoleĬÈϲ»½ÓÊÜÔ¶³ÌÅþÁ¬¡£¡£¡£¡£¡£¡£ÈôÊÇÃ÷È·ÆôÓÃÁËÔ¶³Ì»á¼û²¢ÇÒδÉèÖÃijЩ±£»£»£»£»£»£»£»¤ÒªÁ죨ÈçÇå¾²Ô¼Êø£©£¬ £¬£¬£¬Ôò¹¥»÷Õß¿ÉÒÔ¼ÓÔØ×Ô¼ºµÄ×Ô½ç˵ÀಢÔÚ¾ßÓÐH2 ConsoleµÄÀú³Ì£¨ H2 Server process »ò¾ßÓÐ H2 Console servlet µÄ Web ЧÀÍÆ÷£©ÖÐÖ´ÐÐÆä´úÂë¡£¡£¡£¡£¡£¡£

Ò²¿ÉÒÔͨ¹ýÔÚÕâЩ°æ±¾Öн¨ÉèÁ´½Ó±íÀ´¼ÓÔØËüÃÇ£¬ £¬£¬£¬µ«ÕâÐèÒªADMINȨÏÞ£¬ £¬£¬£¬²¢ÇÒ¾ßÓÐADMINȨÏÞµÄÓû§ÔÚÉè¼ÆÉÏ¿ÉÒÔÍêÈ«»á¼û Java Àú³Ì¡£¡£¡£¡£¡£¡£Òò´ËÕâЩȨÏÞ²»Ó¦ÊÚÓè²»ÊÜÐÅÈεÄÓû§¡£¡£¡£¡£¡£¡£

 

0x05 ²Î¿¼Á´½Ó

https://jfrog.com/blog/the-jndi-strikes-back-unauthenticated-rce-in-h2-database-console/

https://thehackernews.com/2022/01/log4shell-like-critical-rce-flaw.html

http://securityaffairs.co/wordpress/126460/security/unauthenticated-rce-h2-database.html?

 

0x06 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-01-10

Ê×´ÎÐû²¼

 

0x07 ¸½Â¼

¼øºÚµ£±£Íø¼ò½é

¼øºÚµ£±£Íø¹«Ë¾½¨ÉèÓÚ1996Ä꣬ £¬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬ £¬£¬£¬ÊǺ£ÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÇå¾²²úÆ·¡¢¿ÉÐÅÇå¾²ÖÎÀíÆ½Ì¨¡¢Ç徲ЧÀÍÓë½â¾ö¼Æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£¡£¡£¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬ £¬£¬£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬ £¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÇþµÀϵͳºÍÊÖÒÕÖ§³ÖÖÐÐÄ£¬ £¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖÝµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£¡£¡£¡£

¶àÄêÀ´£¬ £¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬ £¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬ £¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£¡£¡£

 

¹ØÓÚ¼øºÚµ£±£Íø

¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£¡£¡£

¹Ø×¢ÒÔϹ«Öںţ¬ £¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png