¡¾Â©¶´Í¨¸æ¡¿H2Êý¾Ý¿â¿ØÖÆÌ¨Ô¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-42392£©
Ðû²¼Ê±¼ä 2022-01-100x00 ©¶´¸ÅÊö
2022Äê1ÔÂ6ÈÕ£¬Ñо¿ÈËÔ±¹ûÈ»Åû¶ÁËÔÚ H2 Êý¾Ý¿â¿ØÖÆÌ¨Öз¢ÏÖµÄÀàËÆ Log4Shell µÄÒªº¦ RCE ©¶´£¬¸Ã©¶´×·×ÙΪCVE-2021-42392¡£
0x01 ©¶´ÏêÇé
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ÄÇÑùÆÕ±é£¬µ«Èç¹û²»¼°Ê±ÐÞ¸´£¬ËüÈÔÈ»»á¶Ô¿ª·¢ÈËÔ±ºÍÉú²úϵͳ·¢Éú¾Þ´óÓ°Ïì¡£
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»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Å¬Á¦¡£
¹ØÓÚ¶¶È¦Îª¶Ä¶øÉú
¶¶È¦Îª¶Ä¶øÉúÄþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖØÒªÄþ¾²Â©¶´µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÄþ¾²³ÂËß¡£
¹Ø×¢ÒÔϹ«Öںţ¬»ñȡȫÇò×îÐÂÄþ¾²×ÊѶ£º