SimpleSAMLphp HTTP-Artifact TLS validator confusion allows cross-IdP authentication bypass (simplesamlphp saml2)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.47 % · percentile 41 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Deferred
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.
Weaknesses (CWE)
- CWE-295 — Improper Certificate Validation
References
- https://github.com/simplesamlphp/saml2/security/advisories/GHSA-6929-8p9f-26jx
- https://github.com/simplesamlphp/saml2/commit/4a71b20d8d845579fd0a54d6449c265b40db459d
- https://github.com/simplesamlphp/saml2/commit/a2c1ac588c70d7b7998546cf32675fb113f22a5f
- https://github.com/simplesamlphp/saml2/commit/d5c213132ef671c0018a11252322034dbddd735a
- https://github.com/simplesamlphp/saml2/commit/e2df7992609964951b2a3e7d6566b7427b2a968f
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 8.7 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N | GitHub_M |
| CVSS 3.1 | HIGH 8.7 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N | NVD · security-advisories@github.com (Secondary) |
Advisories
- GHSA-6929-8p9f-26jx — SimpleSAMLphp HTTP-Artifact TLS validator confusion allows cross-IdP authentication bypass
European references
- ENISA EUVD · EUVD-2026-62502
- GCVE · GCVE-0-2026-49283
Affected products
| Product | Versions |
|---|---|
| simplesamlphp · saml2 | affected < 4.19.3 ; affected >= 4.20.0, < 4.20.2 ; affected >= 5.0.0, < 5.0.6 ; affected >= 6.0.0, < 6.2.1 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |