CVE-2026-63182 in LightSAML
Resumen
por VulDB • 2026-10-30
LightSAML implementa clases del modelo de datos SAML 2.0, serialización y deserialización XML, seguridad XML, soporte para certificados y enlaces de mensajes. Antes de las versiones 4.7.1 y 5.0.1, LightSAML y xmlseclibs discrepan sobre qué aserción cubre la firma entrante de SAML. `Response::deserialize` utiliza `manyElementsFromXml` para recopilar únicamente los elementos directos hijos `saml:Assertion` de `samlp:Response`, y `AssertionSignatureValidatorAction` valida su `ds:Signature` utilizando una credencial IdP confiable resuelta fuera del canal (out-of-band) mediante el Emisor, no una clave extraída del documento. `XMLSecurityDSig::validateReference()` elimina la firma envolvente del DOM compartido, pero `processRefNode()` resuelve el URI de Referencia="#id" en todo el documento a través de un XPath con la forma `//*[@Id]` y toma `item(0)`, que no necesariamente es la aserción cuyas afirmaciones consume LightSAML. Un atacante que haya capturado una aserción genuinamente firmada, como una respuesta de inicio de sesión anterior, puede colocar sus bytes sin firma en una posición anterior dentro de `samlp:Extensions` y presentar una aserción hija directa forjada con el mismo ID y la copia de la firma genuina. La validación entonces cubre los bytes genuinos ocultos mientras LightSAML expone un `Subject/NameID`, `Conditions` y `Attributes` controlados por el atacante y sin firmar, lo que permite eludir la autenticación o escalar privilegios incluso cuando se requiere la validación de firma. El comportamiento fue confirmado en las versiones 5.0.0 y 4.6.1. Este problema está corregido en las versiones 4.7.1 y 5.0.1.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.