¡¾Îó²îͨ¸æ¡¿Spring Cloud Function SpEL±í´ïʽעÈëÎó²î(CVE-2022-22963)
Ðû²¼Ê±¼ä 2022-03-280x00 Îó²î¸ÅÊö
CVE ID | CVE-2022-22963 | ʱ ¼ä | 2022-03-25 |
Àà ÐÍ | ´úÂëÖ´ÐÐ | µÈ ¼¶ | ÑÏÖØ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ | |
¹¥»÷ÖØÆ¯ºó | µÍ | Óû§½»»¥ | |
PoC/EXP | ÒѹûÕæ | ÔÚҰʹÓà |
0x01 Îó²îÏêÇé
Spring Cloud Function ÊÇ»ùÓÚSpring Boot µÄº¯ÊýÅÌËã¿ò¼Ü£¬£¬£¬ËüÁýͳ³öËùÓд«Êäϸ½ÚºÍ»ù´¡ÉèÊ©£¬£¬£¬ÔÊÐí¿ª·¢Ö°Ô±±£´æËùÓÐÊìϤµÄ¹¤¾ßºÍÁ÷³Ì£¬£¬£¬²¢×¨×¢ÓÚÓªÒµÂß¼¡£¡£¡£¡£
¿ËÈÕ£¬£¬£¬Spring Cloud Function ÐÞ¸´ÁËÒ»¸öSpEL±í´ïʽעÈëÎó²î£¬£¬£¬¿ÉʹÓøÃÎó²îÔÚδÈÏÖ¤µÄÇéÐÎÏÂÔÚÄ¿µÄ Spring Cloud FunctionϵͳÖÐÔ¶³ÌÖ´ÐÐí§Òâ´úÂë¡£¡£¡£¡£
µ±Ê¹Ó÷Óɹ¦Ð§Ê±£¬£¬£¬Spring Cloud Function½«ÇëÇóÍ·Öеġ°spring.cloud.function.routing-expression¡±²ÎÊý×÷Ϊ SpEL±í´ïʽ¾ÙÐд¦Öóͷ££¬£¬£¬ Ôì³ÉSpEL±í´ïʽעÈëÎó²î£¬£¬£¬ÀÖ³ÉʹÓôËÎó²î¿ÉʵÏÖí§Òâ´úÂëÖ´ÐС£¡£¡£¡£ÏÖÔÚÎó²îµÄPoC/EXPÒѹûÕæ£¬£¬£¬½¨ÒéÏà¹ØÓû§¾¡¿ì½ÓÄÉÇå¾²²½·¥¡£¡£¡£¡£
Îó²î¸´ÏÖÈçÏÂ:
Ó°Ïì¹æÄ£
3.0.0.RELEASE <= Spring Cloud Function <= 3.1.6
Spring Cloud Function <= 3.2.2
ÒÔ¼°¹Ù·½²»ÔÙÖ§³ÖµÄ¾É°æ±¾¡£¡£¡£¡£
0x02 Çå¾²½¨Òé
ÏÖÔÚ´ËÎó²îÒѾÐÞ¸´£¬£¬£¬ÊÜÓ°ÏìÓû§¿ÉÒÔÉý¼¶µ½Spring Cloud Function 3.1.7»ò3.2.3¡£¡£¡£¡£
ÏÂÔØÁ´½Ó£º
https://github.com/spring-cloud/spring-cloud-function/tags
²¹¶¡ÏÂÔØÁ´½Ó£º
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
×¢£ºÓû§¿ÉÅŲéÓ¦ÓóÌÐòÖжÔspring-cloud-function×é¼þµÄÒýÓÃÇéÐΣ¬£¬£¬²¢¼ì²éÄ¿½ñʹÓð汾ÊÇ·ñÊܵ½Ó°Ïì¡£¡£¡£¡£ÈôÊdzÌÐòʹÓÃMaven´ò°ü£¬£¬£¬¿ÉÉó²éÏîÄ¿µÄpom.xmlÎļþÖÐÊÇ·ñÒýÈëÏà¹Ø×é¼þ¡£¡£¡£¡£
0x03 ²Î¿¼Á´½Ó
https://spring.io/blog/2022/03/29/cve-report-published-for-spring-cloud-function
https://tanzu.vmware.com/security/cve-2022-22963
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
https://pizz33.github.io/2022/03/23/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0-Spring%20Cloud%20Function%20SpEL%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B3%A8%E5%85%A5/
0x04 °æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ÐÞ¸ÄÄÚÈÝ |
V1.0 | 2022-03-28 | Ê×´ÎÐû²¼ |
V2.0 | 2022-03-29 | ÐÂÔö¸´ÏÖ½ØÍ¼¡¢ÐÞ¸ÄÓ°Ïì¹æÄ£µÈ |
0x05 ¸½Â¼
¼øºÚµ£±£Íø¼ò½é
¼øºÚµ£±£Íø¹«Ë¾½¨ÉèÓÚ1996Ä꣬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬£¬ÊǺ£ÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÇå¾²²úÆ·¡¢¿ÉÐÅÇå¾²ÖÎÀíÆ½Ì¨¡¢Ç徲ЧÀÍÓë½â¾ö¼Æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÇþµÀϵͳºÍÊÖÒÕÖ§³ÖÖÐÐÄ£¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖÝµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£¡£
¶àÄêÀ´£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Å¬Á¦¡£¡£¡£¡£
¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º