Read the docs
TI-2026-83422 Aliases CVE-2026-63182

Signature reference wrapping in LightSAML permits unsigned assertion claims

Priority HIGH 70CWE-347Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-347.

Summary

LightSAML versions before 4.7.1 and from 5.0.0 before 5.0.1 disagree with xmlseclibs about which assertion a SAML signature covers. An attacker who has captured one genuinely signed assertion can place its signature-stripped copy earlier in the document and present a forged assertion with the same ID and the copied signature, so validation covers the hidden genuine bytes while LightSAML consumes the unsigned attacker-controlled Subject/NameID, Conditions and Attributes. This is CWE-347, and the flaw can enable authentication bypass or privilege escalation even when signature validation is required.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00191 8th percentileScored 2026-11-07
Fix Fixed lightsaml (litesaml): 4.7.1, 5.0.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
litesamllightsamlbefore 4.7.1; 5.0.0 to before 5.0.14.7.1, 5.0.1Patch availableCNA
  • lightsaml Vendorlitesaml Affected before 4.7.1; 5.0.0 to before 5.0.1 Fixed in 4.7.1, 5.0.1 Patch available CNA

Remediation

Upgrade LightSAML to version 4.7.1 or 5.0.1, which fix the issue in the 4.x and 5.x branches respectively.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA lightsaml (litesaml) Fixed in 4.7.1, 5.0.1

Timeline

  1. 2026-10-30 Threatist record created from CVE-2026-63182
  2. 2026-11-01 Priority changed: MEDIUM → LOW
  3. 2026-11-06 CISA SSVC decision points changed
  4. 2026-11-06 Priority changed: LOW → HIGH

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences