Every CVE Search/ Get API key

CVE-2026-63182

LightSAML: Signature reference wrapping permits unsigned assertion claims

8.1 High

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.19%Unchanged since Oct 31, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.1

LightSAML: Signature reference wrapping permits unsigned assertion claims

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.

Record
CVE-2026-63182
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-347
Updated
2026-11-06
EUVDEUVD-2026-114520 8.1

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.

Record
EUVD-2026-114520
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-06
NVD 8.1

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.

Record
CVE-2026-63182
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-347
Updated
2026-11-06
OSV 8.1

LightSAML: Signature reference wrapping permits unsigned assertion claims

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.

Record
CVE-2026-63182
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-347
Updated
2026-11-07

Affected products

History

History
RecordedChangedSources
referencesCVE List, EUVD
factsNVD, OSV
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-63182 is a high vulnerability (CVSS 8.1) in Litesaml Lightsaml, published October 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.19%, the 8th percentile. No source names a fixed version.

References

MoveEnter Open