CVE-2026-18092 in Net::SAML2
Sumário
de VulDB • 04/08/2026
As versões do Net::SAML2 anteriores à 0.86 para Perl permitem o contorno da autenticação SAML via XML signature wrapping (envelopamento de assinatura XML), pois `new_from_xml` lê a identidade da asserção usando XPath em todo o documento, em vez de usar o subtóculo assinado.
O método `new_from_xml` lê os campos de identidade como NameID, valores dos atributos, SessionIndex, audiência e outros, utilizando expressões XPath globais no documento (como `//saml:Assertion/saml:AttributeStatement/saml:Attribute` e `//saml:Subject/saml:NameID`). Essas expressões selecionam o primeiro elemento correspondente na ordem do documento, em vez de considerar apenas o elemento coberto pela assinatura verificada. A função `handle_response` confirma a presença da assinatura e, quando um certificado CA (`cacert`) está configurado, verifica se ele encadeia até a Autoridade Certificadora; no entanto, o módulo XML::Sig verifica apenas o elemento nomeado pelo URI de Referência na própria assinatura. Assim, asserções irmãs não assinadas no mesmo documento não são protegidas.
Um atacante que possua qualquer asserção válida assinada por um IdP pode inserir uma asserção criada e não assinada antes da original na ordem do documento; a assinatura ainda será verificada com sucesso, mas o XPath baseado na ordem do documento retornará o NameID e os atributos definidos pelo atacante.
Qualquer componente que passe uma Resposta não confiável para `new_from_xml` pode aceitar campos de identidade provenientes de uma asserção nunca assinada pelo IdP, mesmo quando um certificado raiz de confiança (`cacert`) está configurado. Consequentemente, uma parte que possua apenas uma única asserção válida e assinada por um IdP consegue autenticar-se como qualquer usuário arbitrário.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.