github.com/crewjam/saml through v0.5.1 contains two vulnerabilities in SAML assertion processing:
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.
Subject uses the bare XML struct tag xml:"NameID", which matches elements in any XML namespace. When a signed assertion omits saml:NameID and includes a 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.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2026-6909"
}