¡¾·ì϶¹«¸æ¡¿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ÈÕ£¬GA»Æ½ð¼×¼¯ÍÅ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 GA»Æ½ð¼×¼ò½é
GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°GA»Æ½ð¼×´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐÓ×°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£
5.2 ¹ØÓÚGA»Æ½ð¼×
GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯£¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶£¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º



¾©¹«Íø°²±¸11010802024551ºÅ