¡¾Â©¶´Í¨¸æ¡¿GitLab SAMLÉí·ÝÑéÖ¤Èƹý©¶´£¨CVE-2024-45409£©
Ðû²¼Ê±¼ä 2024-09-19Ò»¡¢Â©¶´¸ÅÊö
©¶´Ãû³Æ | GitLab SAMLÉí·ÝÑéÖ¤Èƹý©¶´ | ||
CVE ID | CVE-2024-45409 | ||
©¶´ÀàÐÍ | Éí·ÝÑéÖ¤Èƹý | ·¢ÏÖʱ¼ä | 2024-09-12 |
©¶´ÆÀ·Ö | 10.0 | ©¶´Æ·¼¶ | ¸ßΣ |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ÀûÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | δ¹ûÈ» | ÔÚÒ°ÀûÓà | δ·¢ÏÖ |
GitLabÊÇÒ»¸öÓÃÓÚ¶ÑÕ»¹ÜÀíϵͳµÄ¿ªÔ´ÏîÄ¿£¬ÆäʹÓÃGit×÷Ϊ´úÂë¹ÜÀí¹¤¾ß£¬¿ÉÒÔͨ¹ýWeb½çÃæ·ÃÎʹûÈ»»ò˽ÈËÏîÄ¿¡£SAML£¨Security Assertion Markup Language£¬Äþ¾²¶ÏÑÔ±êÖ¾ÓïÑÔ£©ÊÇÒ»ÖÖ»ùÓÚXMLµÄ³ß¶È£¬ÓÃÓÚÔÚ²îÒìµÄÄþ¾²ÓòÖ®¼ä½»»»ÈÏÖ¤ºÍÊÚȨÊý¾Ý£¬Ëü±»¹ã·ºÓ¦ÓÃÓÚµ¥µãµÇ¼£¨SSO£©½â¾ö·½°¸¡£
2024Äê9ÔÂ19ÈÕ£¬¶«Éƽ̨¼¯ÍÅVSRC¼à²âµ½GitLabÖÐÐÞ¸´ÁËÒ»¸öSAMLÉí·ÝÑéÖ¤Èƹý©¶´£¨CVE-2024-45409£©£¬¸Ã©¶´µÄCVSSÆÀ·ÖΪ10.0¡£
OmniAuth-SAMLºÍRuby-SAML¿âÔÚGitLabÖÐÓÃÓÚ´¦ÖûùÓÚSAMLµÄÉí·ÝÑéÖ¤£¬ÓÉÓÚÕâЩ¿â/¹¤¾ßÎÞ·¨ÕýÈ·ÑéÖ¤SAMLÏìÓ¦µÄÇ©Ãû£¬µ¼Ö´æÔÚSAMLÉí·ÝÑéÖ¤Èƹý©¶´£¨CVE-2024-45409£©£¬ÍþвÕß¿ÉÒÔÖÆ×÷¶ñÒâ SAML ÏìÓ¦´Ó¶øÈƹýSAMLÉí·ÝÑéÖ¤²¢»ñµÃ¶ÔGitLabʵÀýµÄ·ÃÎÊȨÏÞ¡£
¶þ¡¢Ó°Ï췶Χ
GitLab CE/EE 17.3.x < 17.3.3
GitLab CE/EE 17.2.x < 17.2.7
GitLab CE/EE 17.1.x < 17.1.8
GitLab CE/EE 17.0.x < 17.0.8
GitLab CE/EE 16.11.x < 16.11.10
OmniAuth-SAMLºÍRuby-SAMLÒÀÀµÏ
omniauth-saml <= 2.1.0
ruby-saml <= 1.12.2
1.13.0 <= ruby-saml <= 1.16.0
Èý¡¢Äþ¾²´ëÊ©
3.1 Éý¼¶°æ±¾
Ä¿Ç°¸Ã©¶´ÒѾÐÞ¸´£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½ÒÔÏ°汾£º
GitLab CE/EE 17.3.x >= 17.3.3
GitLab CE/EE 17.2.x >= 17.2.7
GitLab CE/EE 17.1.x >= 17.1.8
GitLab CE/EE 17.0.x >= 17.0.8
GitLab CE/EE 16.11.x >= 16.11.10
»ò½«OmniAuth-SAMLºÍRuby-SAMLÒÀÀµÏîÉý¼¶µ½ÒÔÏÂÐÞ¸´°æ±¾£º
omniauth-saml£ºÉý¼¶µ½2.2.1¡¢2.1.2¡¢1.10.5»ò¸ü¸ß°æ±¾
ruby-saml£ºÉý¼¶µ½1.17.0¡¢1.12.3»ò¸ü¸ß°æ±¾
ÏÂÔØÁ´½Ó£º
https://about.gitlab.com/
3.2 ÁÙʱ´ëÊ©
Õë¶Ô×ÔÐйÜÀíµÄ GitLab °²×°£¬¿É½ÓÄÉÒÔÏ´ëÊ©»º½â©¶´ÀûÓãº
1.ΪGitLab ×Ô¹ÜÀíʵÀýÉϵÄËùÓÐÓû§ÕÊ»§ÆôÓà GitLabË«ÒòËØÉí·ÝÑéÖ¤¡£×¢Ò⣬ÆôÓÃÉí·ÝÌṩÕߣ¨IdP£©¶àÒòËØÉí·ÝÑéÖ¤²»ÄÜ»º½â¸Ã©¶´¡£
2.²»ÔÊÐíGitLabÖеÄSAMLË«ÒòËØÈƹýÑ¡Ïî¡£
´ËÍ⣬¿Éͨ¹ýÔÚGitLab application_jsonºÍauth_jsonÈÕÖ¾ÎļþÖмì²ìºÍ¼ì²âÊÇ·ñ´æÔڸ鶴µÄÀûÓÃʵÑ飬ÏêÇé¿É²Î¿¼£º
https://about.gitlab.com/releases/2024/09/17/patch-release-gitlab-17-3-3-released/
3.3 ͨÓý¨Òé
l ¶¨ÆÚ¸üÐÂϵͳ²¹¶¡£¬¼õÉÙϵͳ©¶´£¬ÌáÉý·þÎñÆ÷µÄÄþ¾²ÐÔ¡£
l ¼ÓǿϵͳºÍÍøÂçµÄ·ÃÎÊ¿ØÖÆ£¬Ð޸ķÀ»ðǽ¼Æı£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻò·þÎñ£¬¼õÉÙ½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬¼õÉÙ¹¥»÷Ãæ¡£
l ʹÓÃÆóÒµ¼¶Äþ¾²²úÎÌáÉýÆóÒµµÄÍøÂçÄþ¾²ÐÔÄÜ¡£
l ¼ÓǿϵͳÓû§ºÍȨÏÞ¹ÜÀí£¬ÆôÓöàÒòËØÈÏÖ¤»úÖƺÍ×îСȨÏÞÔÔò£¬Óû§ºÍÈí¼þȨÏÞÓ¦±£³ÖÔÚ×îµÍÏ޶ȡ£
l ÆôÓÃÇ¿ÃÜÂë¼Æı²¢ÉèÖÃΪ¶¨ÆÚÐ޸ġ£
3.4 ²Î¿¼Á´½Ó
https://about.gitlab.com/releases/2024/09/17/patch-release-gitlab-17-3-3-released/
https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-jw9c-mfg7-9rx2
https://github.com/omniauth/omniauth-saml/security/advisories/GHSA-cvp8-5r8g-fhvq
ËÄ¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-09-19 | Ê×´ÎÐû²¼ |
Îå¡¢¸½Â¼
5.1 ¶«Éƽ̨¼ò½é
¶«Éƽ̨½¨Á¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Äþ¾²¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Äþ¾²²úÎï¡¢Äþ¾²·þÎñ½â¾ö·½°¸µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¶«Éƽ̨´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÈ«¹úµÄÏúÊÛÌåϵ¡¢ÇþµÀÌåϵºÍ¼¼ÊõÖ§³ÖÌåϵ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬¶«Éƽ̨ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´ÐµÄÄþ¾²²úÎïºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·Åƶø²»Ð¸Å¬Á¦¡£
5.2 ¹ØÓÚ¶«Éƽ̨
¶«Éƽ̨Äþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸ö©¶´Í¨¸æºÍ·çÏÕÔ¤¾¯£¬ÎÒÃǽ«Á¬Ðø¸ú×ÙÈ«Çò×îеÄÍøÂçÄþ¾²Ê¼þºÍ©¶´£¬ÎªÆóÒµµÄÐÅÏ¢Äþ¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º