CVE Catalog

CVE-2026-63182

HighCVSS 8.1
Published: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.15%

4th percentile - higher than 4% of all known CVEs

Summary

In LightSAML prior to 4.7.1 and 5.0.1, LightSAML and xmlseclibs disagree about which assertion an inbound SAML signature covers. XMLSecurityDSig::validateReference() removes the enveloped signature from the shared DOM, but processRefNode() resolves Reference URI="#id" document-wide via XPath //*[@Id] and takes item(0), which need not be the assertion whose claims LightSAML consumes. An attacker with a captured genuinely signed assertion can place its signature-stripped bytes in samlp:Extensions and present a forged assertion with the same ID and copied signature, enabling authentication bypass or privilege escalation.

Risk Assessment

It may enable SAML authentication bypass or privilege escalation even when signature validation is required. The risk affects service and identity providers using LightSAML.

Recommendation

Update LightSAML to version 4.7.1 or 5.0.1 (or later). Verify SAML signature validation configuration and monitor for anomalous assertions.

Related vulnerabilities

Original NVD description (English source)

LightSAML implements SAML 2.0 data model classes, XML serialization and deserialization, XML security, certificate support, and message bindings. Prior to 4.7.1 and 5.0.1, LightSAML and xmlseclibs disagree about which assertion an inbound SAML signature covers. `Response::deserialize` uses `manyElementsFromXml` to collect only direct-child `saml:Assertion` elements of `samlp:Response`, and `AssertionSignatureValidatorAction` validates their `ds:Signature` using an out-of-band trusted IdP credential resolved by Issuer, not a key from the document. `XMLSecurityDSig::validateReference()` removes the enveloped signature from the shared DOM, but `processRefNode()` resolves `Reference URI="#id"` document-wide through an XPath of the form `//*[@Id]` and takes `item(0)`, which need not be the assertion whose claims LightSAML consumes. An attacker who has captured one genuinely signed assertion, such as an earlier login response, can place its signature-stripped bytes earlier in `samlp:Extensions` and present a forged direct-child assertion with the same ID and copied genuine signature. Validation then covers the hidden genuine bytes while LightSAML surfaces unsigned attacker-controlled `Subject/NameID`, `Conditions`, and `Attributes`, enabling authentication bypass or privilege escalation even when signature validation is required. The behavior was confirmed in versions 5.0.0 and 4.6.1. This issue is fixed in versions 4.7.1 and 5.0.1.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS