¡¾·ì϶¹«¸æ¡¿Spring Data MongoDB SpEL±í°×ʽעÈë·ì϶£¨CVE-2022-22980£©
°ä²¼¹¦·ò 2022-06-21
0x00 ·ì϶¸ÅÊö
CVE ID | CVE-2022-22980 | ·¢ÏÖ¹¦·ò | 2022-06-21 |
Àà ÐÍ | SpEL ±í°×ʽעÈë | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌÀûÓà | ÊÇ | Ó°ÏìÁìÓò | |
¹¥»÷¸´ÔÓ¶È | ¸ß | Óû§½»»¥ | ÎÞ |
PoC/EXP | ÔÚÒ°ÀûÓÃ |
0x01 ·ì϶ÏêÇé
Spring Data for MongoDBÊÇ Spring Data ÏîÖ÷ÕÅÒ»²¿ÃÅ£¬£¬¸ÃÏîĿּÔÚΪеÄÊý¾Ý´æ´¢ÌṩÊìϤºÍÒ»ÖµĻùÓÚSpringµÄ±à³ÌÄ£ÐÍ£¬£¬Í¬Ê±±£Áô´æ´¢µÄÌØ¶¨ÌصãºÍÖ°ÄÜ¡£¡£¡£¡£
6ÔÂ20ÈÕ£¬£¬VMware°ä²¼°²È«²¼¸æ£¬£¬ÐÞ¸´ÁËSpring Data MongoDBÖеÄÒ»¸öSpEL ±í°×ʽעÈë·ì϶£¨CVE-2022-22980£©£¬£¬¸Ã·ì϶µÄCVSSv3ÆÀ·ÖΪ8.2¡£¡£¡£¡£
Spring Data MongoDBÀûÓ÷¨Ê½ÔÚ¶ÔÔ̺¬²éÎʲÎÊýռλ·ûµÄSpEL±í°×ʽʹÓÃ@Query»ò@Aggregation×¢½âµÄ²éÎʲ½Öè½øÐÐÖµ°ó°´Ê±£¬£¬ÈôÊÇÊäÈëδ±»¹ýÂË£¬£¬ÔòÈÝÒ×Êܵ½SpEL×¢Èë¹¥»÷¡£¡£¡£¡£
Ó°ÏìÁìÓò
Spring Data MongoDB 3.4.0
Spring Data MongoDB 3.3.0 - 3.3.4
ÒÔ¼°ÆäËü¾ÉµÄ¡¢¡¢²»ÊÜÖ§³ÖµÄ°æ±¾¡£¡£¡£¡£
0x02 °²È«½¨Òé
Ŀǰ´Ë·ì϶ÒѾÐÞ¸´£¬£¬ÊÜÓ°ÏìÓû§Äܹ»Éý¼¶µ½ÒÔϰ汾£º£º£º
Spring Data MongoDB 3.4.1»ò¸ü¸ß°æ±¾£»
Spring Data MongoDB 3.3.5»ò¸ü¸ß°æ±¾¡£¡£¡£¡£
ÏÂÔØÁ´½Ó£º£º£º
https://github.com/spring-projects/spring-data-mongodb/tags
»º½â´ëÊ©£º£º£º
ÖØÐ´query »òaggregationÉêÃ÷£¬£¬ÔÚ±í°×ʽÖÐʹÓòÎÊýÒýÓã¨"[0]"¶ø²»ÊÇ"?0"£©£»
ÔÚŲÓòéÎʲ½Öèǰ¶Ô²ÎÊý½øÐйýÂË£»
ͨ¹ýÓµÓÐÊÜÏÞQueryMethodEvaluationContextProviderµÄBeanPostProcessorÖØÐÂÅäÖÃrepository factory bean¡£¡£¡£¡£
×¢£º£º£ºµ±Âú×ãÒÔÏÂÈÎһǰÌáʱ£¬£¬Ôò²»ÊÜ´Ë·ì϶ӰÏ죺£º£º
l @Query»ò@Aggregation×¢½â²½Öè²»Ô̺¬±í°×ʽ£»
l @Query»ò@Aggregation×¢½â²½Ö費ʹÓñí°×ʽÖеIJÎÊýռλ·ûÓï·¨£»
l ¹ýÂËÁËÓû§ÌṩµÄÊäÈ룻
l ´æ´¢¿âÅäÖÃΪʹÓÃÏÞ¶ÈSpELʹÓõÄQueryMethodObservationContextProvider¡£¡£¡£¡£
0x03 ²Î¿¼Á´½Ó
https://tanzu.vmware.com/security/cve-2022-22980
https://spring.io/blog/2022/06/20/spring-data-mongodb-spel-expression-injection-vulnerability-cve-2022-22980
0x04 °æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | Åú¸ÄÄÚÈÝ |
V1.0 | 2022-06-21 | ³õ´Î°ä²¼ |
0x05 ¸½Â¼
OG¶«·½Ìü¼ò½é
OG¶«·½Ìü³ÉÁ¢ÓÚ1996Ä꣬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°OG¶«·½Ìü´óÏ㬣¬¹«Ë¾Ô±¹¤½ü4000ÈË£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£¡£¡£¡£ÔÚÈ«¹ú¸÷Ê¡¡¢¡¢ÊС¢¡¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢¡¢ÇþµÀϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÀö½ÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£¡££¨¹ÉƱ´úÂ룺£º£º002439£©
¶àÄêÀ´£¬£¬OG¶«·½ÌüÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£¡£¡£¡£
¹ØÓÚOG¶«·½Ìü
OG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶ÔÖØÒª°²È«·ì϶µÄÔ¤¾¯¡¢¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£¡£¡£¡£
¹Ø×¢ÒÔϹ«¼ÒºÅ£¬£¬»ñȡȫÇò×îа²È«×ÊѶ£º£º£º



¾©¹«Íø°²±¸11010802024551ºÅ