Foram lançadas atualizações corretivas para a plataforma de colaboração GitLab — 17.3.3, 17.2.6 e 17.1.8, que corrigem uma vulnerabilidade crítica que permite contornar a autenticação baseada em SAML (Security Assertion Markup Language). O problema é causado por uma vulnerabilidade (CVE-2024-45409) nas bibliotecas Ruby ruby-saml e omniauth-saml, que implementam a parte cliente da autorização SAML. A vulnerabilidade recebeu o nível máximo de severidade 10 em 10. O problema foi resolvido nas atualizações dos pacotes ruby-saml (1.17.0 e 1.12.3) e omniauth-saml (2.2.0).
A vulnerabilidade é causada pelo tratamento inadequado do seletor XPath, levando a uma verificação incorreta da assinatura em formato XML ao analisar a resposta de um servidor SAML. Um atacante não autenticado que tenha acesso a qualquer documento SAML assinado pode forjar qualquer resposta SAML para conteúdo arbitrário usando um ataque típico de XSW (XML Signature Wrapping).
A essência do ataque é pegar uma mensagem corretamente assinada e adicionar a ela um documento XML relacionado que contenha uma mensagem fictícia adicional, utilizando o mesmo identificador da primeira mensagem (esse identificador será verificado ao analisar a primeira mensagem e, devido a um erro, será interpretado como verificado também para a segunda mensagem). No contexto de serviços que utilizam SAML para autorização, a vulnerabilidade permite que um usuário se conecte ao sistema como qualquer outro usuário.
Fonte: opennet.ru
