¡¾Îó²îͨ¸æ¡¿Kubernetes Argo CDȨÏÞÌáÉýÎó²î£¨CVE-2022-29165£©
Ðû²¼Ê±¼ä 2022-06-010x00 Îó²î¸ÅÊö
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»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£
¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º