¡¾·ì϶¹«¸æ¡¿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¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯ £¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶ £¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£

¹Ø×¢ÎÒÃÇ£º

image.png