¡¾Îó²îͨ¸æ¡¿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¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º