Уязвимост Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ruby-saml, Π²ΠΎΠ΄Π΅Ρ‰Π° Π΄ΠΎ заобикалянС Π½Π° аутСнтификацията Π² GitLab

ΠŸΡƒΡΠ½Π°Ρ‚ΠΈ са ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° GitLab β€” 17.9.2, 17.8.5 ΠΈ 17.7.7, ΠΊΠΎΠΈΡ‚ΠΎ адрСсират уязвимост (CVE-2025-25291, CVE-2025-25292), позволяваща заобикалянС Π½Π° SAML (Security Assertion Markup Language) Π±Π°Π·ΠΈΡ€Π°Π½Π°Ρ‚Π° автСнтикация. Уязвимостта Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Ruby ruby-saml, която Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° SAML автСнтикация. ОсвСн GitLab, уязвимостта засяга ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Ρ‚Π°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚Π° Π΅ отстранСна Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ruby-saml 1.18.0 ΠΈ 1.12.4.

Уязвимостта Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π° ΠΎΡ‚ различия Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ парсСритС ReXML ΠΈ Nokogiri, Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° структура. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ REXML ΠΈ Nokogiri ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈΡ‚Π΅ подписи Π² XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° създаванС Π½Π° условия, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ подпис, Π° ΠΏΡ€ΠΈ удостовСряванС Π½Π° потрСбитСля - Π΄Ρ€ΡƒΠ³. Π’Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ позволява Π½Π° нападатСля Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° XSW (XML Signature Wrapping) Π·Π° подправянС Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° SAML Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΈΠΌΠ°ΠΉΠΊΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ подписан SAML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π½Π° компанията GitHub, която обсъТдашС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° GitHub към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сигурността ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° конкурс (Bug bounty) Π·Π° Ρ…Π°ΠΊΠ²Π°Π½Π΅ Π½Π° тСстово ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π° SAML удостовСряванС сС ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ruby-saml. Π•Π΄ΠΈΠ½ ΠΎΡ‚ изслСдоватСлитС ΠΏΠΎ сигурност забСляза Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° уязвимост. Π’ процСса Π½Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, слуТитСл Π½Π° GitHub ΠΎΡ‚ΠΊΡ€ΠΈ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π°Ρ‚Π°ΠΊΠ°, основан Π½Π° ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ.

По-късно Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π°Ρ‚Π°ΠΊΠ° бСшС ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Π½Π° Π·Π° GitLab. Π’ контСкста Π½Π° GitLab, уязвимостта позволява Π½Π° нападатСля, ΠΈΠΌΠ°ΠΉΠΊΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ подписан SAML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π΄Π° сС удостовСрява ΠΊΠ°Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», Ρ‚.Π΅. Π·Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ удостовСряванСто ΠΈ Π΄Π° Π²Π»Π΅Π·Π΅ ΠΊΠ°Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», нападатСлят Π²Π΅Ρ‡Π΅ трябва Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΅Π΄Π½Π° ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ потрСбитСлски смСтки.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster