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