¡¾·ì϶¹«¸æ¡¿Spring Cloud Function SpEL±í°×ʽעÈë·ì϶(CVE-2022-22963)

°ä²¼¹¦·ò 2022-03-28


0x00 ·ì϶¸ÅÊö


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Òѹ«¿ª £¬½¨ÒéÓйØÓû§¾¡¿ì²ÉÈ¡°²È«´ëÊ©¡£

·ì϶¸´ÏÖÈçÏÂ:

image.png


Ó°ÏìÁìÓò

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×é¼þµÄÒýÓÃÇé¿ö £¬²¢²é³­µ±Ç°Ê¹Óð汾ÊÇ·ñÊܵ½Ó°Ïì¡£ÈôÊÇ·¨Ê½Ê¹ÓÃ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»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦ £¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Å¬Á¦¡£


¹ØÓÚ±¦ÔËÀ³¹Ù·½ÍøÕ¾

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

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

image.png