¡¾·ì϶¹«¸æ¡¿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 ¸½Â¼

GA»Æ½ð¼×¼ò½é

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

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

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

 

¹ØÓÚGA»Æ½ð¼×

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

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

image.png