GO-2026-6909 json
Nil-pointer panic in validateAssertion and namespace-blind Subject.NameID in github.com/crewjam/saml
published 2026-11-05 3 d ago modified 2026-11-05 3 d ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
github.com/crewjam/saml through v0.5.1 contains two vulnerabilities in SAML assertion processing:
1. ServiceProvider.validateAssertion dereferences assertion.Issuer without a nil check when ExpectedIDPEntityID is non-empty. A signed SAML assertion that omits the optional <saml:Issuer> element causes a nil-pointer dereference panic after signature verification.
2. Subject uses the bare XML struct tag xml:"NameID", which matches <NameID> elements in any XML namespace. When a signed assertion omits <saml:NameID> and includes a <NameID> element in a foreign namespace inside <saml:Subject>, encoding/xml populates Subject.NameID from the foreign element, allowing an authenticated principal to spoof Subject.NameID.Value.
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/crewjam/saml | all versions |
no fix listed |
References
Sources
- OSV GO-2026-6909
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.