¡¾Â©¶´Í¨¸æ¡¿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