¡¾·ì϶¹«¸æ¡¿Kubernetes Argo CDȨÏÞÌáÉý·ì϶£¨CVE-2022-29165£©

°ä²¼¹¦·ò 2022-06-01

0x00 ·ì϶¸ÅÊö

CVE   ID

CVE-2022-29165

·¢ÏÖ¹¦·ò

2022-06-01

Àà    ÐÍ

ȨÏÞÌáÉý

µÈ    ¼¶

ÑϳÁ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò


¹¥»÷¸´ÔÓ¶È

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP


ÔÚÒ°ÀûÓÃ


 

0x01 ·ì϶ÏêÇé

Argo CDÊÇÓÃÓÚKubernetesµÄÉêÃ÷ʽGitOps³ÖÐø½»¸¶¹¤¾ß  ¡£

5ÔÂ18ÈÕ£¬Argo CDÏîÄ¿°ä²¼°²È«²¼¸æ£¬Argo CDÖдæÔÚÒ»¸öȨÏÞÌáÉý·ì϶£¨CVE-2022-29165£©£¬¸Ã·ì϶µÄCVSSÆÀ·ÖΪ10.0  ¡£

µ±ÆôÓöÔArgo CDÊ·ýµÄÄäÃû½Ó¼ûʱ£¨Ä¬ÈϽûÓã©£¬Î´¾­Éí·ÝÑéÖ¤µÄÓû§Äܹ»Í¨¹ýÔÚÒªÇóÖз¢ËÍÌØÔìµÄJSON Web Token£¨JWT£©À´¼ÙÒâÈκÎArgo CDÓû§»ò½ÇÉ«£¬Ô̺¬ÖÎÀíÔ±Óû§£¬ÎÞÂÛ¸ÃÕÊ»§ÊÇ·ñ±»ÆôÓûò´æÔÚÓÚArgo CDÊ·ýÉÏ  ¡£

³É¹¦ÀûÓô˷ì϶Äܹ»ÔÚ¼¯ÈºÉÏ»ñµÃÓëArgo CDÊ·ýÒ»ÑùµÄȨÏÞ£¬ÔÚĬÈÏ×°ÖÃÖÐÊǼ¯ÈºÖÎÀíÔ±  ¡£Õ⽫¿ÉÄÜ´´½¨¡¢°Ñ³ÖºÍɾ³ý¼¯ÈºÉϵÄÈκÎ×ÊÔ´£¬»òÖ´ÐÐÆäËü¶ñÒâ²Ù×÷  ¡£

 

Ó°ÏìÁìÓò

Argo CD °æ±¾1.4.0 - 2.1.14

Argo CD °æ±¾ 2.2.8

Argo CD °æ±¾ 2.3.3

0x02 °²È«½¨Òé

Ŀǰ´Ë·ì϶ÒѾ­½¨¸´£¬½¨ÒéËùÓÐ Argo CD Óû§¾¡¿ì¸üе½ÒÔϽ¨¸´°æ±¾£¬ÎÞÂÛÄúµÄÊ·ýÖÐÊÇ·ñÆôÓÃÁËÄäÃû½Ó¼û£º

Argo CD °æ±¾ v2.3.4

Argo CD °æ±¾ v2.2.9

Argo CD °æ±¾ v2.1.15

ÏÂÔØÁ´½Ó£º

https://github.com/argoproj/argo-cd/releases

»º½â´ëÊ©£º

½ûÓÃÄäÃû½Ó¼û

ÈôÊÇÁÙʱÎÞ·¨Éý¼¶µ½½¨¸´°æ±¾£¬Äܹ»Ñ¡Ôñ½ûÓÃÄäÃû½Ó¼û£¨ÈôÊÇÒÑÆôÓã©  ¡£

1.ÈôÒª²éÎÊArgo CDÊ·ýÊÇ·ñÆôÓÃÁËÄäÃû½Ó¼û£¬Äܹ»²éÎÊArgo CDµÄ×°Öö¨Ãû¿Õ¼äÖеÄargocd-cm ConfigMap  ¡£ÏÂÀýÈç¹ûÒѾ­°ÑArgo CD×°Öõ½argocd¶¨Ãû¿Õ¼ä£º

$ kubectl get -n argocd cm argocd-cm -o jsonpath=¡¯{.data.users\.anonymous\.enabled}¡¯

ÈôÊǴ˺ÅÁîµÄÁ˾ÖΪ¿Õ»ò"false"£¬Ôò°µÊ¾Î´ÆôÓöԸÃÊ·ýµÄÄäÃû½Ó¼û  ¡£ÈôÊÇÁ˾ÖÊÇ"true"£¬ÔòÒâζ×ÅÊ·ýºÜÈÝÒ×Êܵ½¹¥»÷  ¡£

2. Òª½ûÓÃÄäÃû½Ó¼û£¬Ç뽨²¹argocd-cmConfigMap ÒÔɾ³ý¸Ãusers.anonymous.enabled×ֶλò½«´Ë×Ö¶ÎÉèÖÃΪ"false"£º

A£®½«×Ö¶ÎÉèÖÃΪ"false"£º

$ kubectl patch -n argocd cm argocd-cm --type=json -p='[{"op":"add", "path":"/data/users.anonymous.enabled", "value":"false"}]'

B£®Ò²Äܹ»Ñ¡ÔñÆëȫɾ³ý¸Ã×ֶΣ¬´Ó¶ø½ûÓÃÄäÃû½Ó¼û£¬ÓÉÓÚĬÈÏֵΪfalse£º

$ kubectl patch -n argocd cm argocd-cm --type=json -p='[{"op":"remove", "path":"/data/users.anonymous.enabled"}]'

 

0x03 ²Î¿¼Á´½Ó

https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj

https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/#anonymous-access

https://latesthackingnews.com/2022/05/31/serious-argo-cd-vulnerability-could-allow-admin-access-to-the-attackers/

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

Åú¸ÄÄÚÈÝ

V1.0

2022-06-01

³õ´Î°ä²¼

 

0x05 ¸½Â¼

±¦ÔËÀ³¹Ù·½ÍøÕ¾¼ò½é

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

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

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


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

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

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

image.png