Description
The SimpleSAMLphp SAML2 library is a PHP library for SAML2 related functionality. Prior to versions 4.19.3, 4.20.2, 5.0.6, and 6.2.1, the HTTPArtifact::receive() flow can treat an unsigned embedded SAML Response as cryptographically valid for the wrong identity provider. SOAPClient::addSSLValidator() attaches a TLS-based validator to the outer SOAP ArtifactResponse, while the embedded Response receives a validator that delegates to the outer message and is later checked against metadata selected from the embedded response issuer rather than necessarily the artifact issuer. SOAPClient::validateSSL() returns normally when the TLS public key does not match the key being validated, and SAML2\Message::validate() treats a validator call that does not throw as successful. In a multi-IdP federation, a malicious or lower-trust IdP can therefore provide an ArtifactResponse containing an unsigned Response that claims a higher-trust victim IdP as issuer and authenticate as arbitrary users with attacker-chosen assertion attributes, NameID, and session data. This issue is fixed in versions 4.19.3, 4.20.2, 5.0.6, and 6.2.1.
References5
- github.com/simplesamlphp/saml2/commit/4a71b20d8d845579fd0a54d64…
- github.com/simplesamlphp/saml2/commit/a2c1ac588c70d7b7998546cf3…
- github.com/simplesamlphp/saml2/commit/d5c213132ef671c0018a11252…
- github.com/simplesamlphp/saml2/commit/e2df7992609964951b2a3e7d6…
- github.com/simplesamlphp/saml2/security/advisories/GHSA-6929-8p…
Metrics
- CVSS 3.1
-
8.7
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 41 · as of 10 November 2026
- CWE
- CWE-295
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.