{"id":"CVE-2026-49283","summary":"SimpleSAMLphp HTTP-Artifact TLS validator confusion allows cross-IdP authentication bypass","details":"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.","aliases":["GHSA-6929-8p9f-26jx"],"modified":"2026-08-21T03:46:48.300347828Z","published":"2026-08-19T14:47:05.519Z","database_specific":{"cwe_ids":["CWE-295"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49283.json","cna_assigner":"GitHub_M"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49283.json"},{"type":"ADVISORY","url":"https://github.com/simplesamlphp/saml2/security/advisories/GHSA-6929-8p9f-26jx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49283"},{"type":"FIX","url":"https://github.com/simplesamlphp/saml2/commit/4a71b20d8d845579fd0a54d6449c265b40db459d"},{"type":"FIX","url":"https://github.com/simplesamlphp/saml2/commit/a2c1ac588c70d7b7998546cf32675fb113f22a5f"},{"type":"FIX","url":"https://github.com/simplesamlphp/saml2/commit/d5c213132ef671c0018a11252322034dbddd735a"},{"type":"FIX","url":"https://github.com/simplesamlphp/saml2/commit/e2df7992609964951b2a3e7d6566b7427b2a968f"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/simplesamlphp/saml2","events":[{"introduced":"0"},{"introduced":"0da0f24bbdd751f8589da8112960eaf002b4f1f4"},{"introduced":"c5afe836888890b859ae7b224619c380bb87349d"},{"introduced":"11a1c44f248a95e688f97de6ad118d9c3a67afea"},{"fixed":"d5c213132ef671c0018a11252322034dbddd735a"},{"fixed":"8e76ef75ce44015f336a6a905e08a0d17616a0e2"},{"fixed":"a2c1ac588c70d7b7998546cf32675fb113f22a5f"},{"fixed":"f3c4d4fbe44639e63a94e023e7198e5d243d6422"},{"fixed":"4a71b20d8d845579fd0a54d6449c265b40db459d"},{"fixed":"e2df7992609964951b2a3e7d6566b7427b2a968f"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"4.19.3"},{"introduced":"4.20.0"},{"fixed":"4.20.2"},{"introduced":"5.0.0"},{"fixed":"5.0.6"},{"introduced":"6.0.0"},{"fixed":"6.2.1"}]}}],"versions":["v4.19.2","v5.0.5","v4.20.1","v6.2.0","v6.1.4","v6.1.3","v6.1.2","v4.19.1","v4.20.0","v6.1.0","v5.0.4","v4.19.0","v6.0.0","v5.0.3","v5.0.2","v4.18.1","v5.0.1","v5.0.0","v4.18.0","v4.6.16","v4.17.0","v4.6.15","v4.6.14","v4.16.14","v4.6.13","v4.6.12","v4.6.11","v4.6.10","4.6.9","v4.6.8","v4.6.7","v4.6.6","v4.6.5","v4.6.4","v4.6.3","v4.6.2","v4.6.1","v4.6.0","v4.5.1","v4.5.0","v4.4.1","v4.4.0","v4.3.1","v4.3.0","v4.2.8","v4.2.7","v4.2.6","v4.2.5","v4.2.4","v4.2.3","v4.2.2","v4.2.1","v4.2.0","v4.1.12","v4.1.11","v4.1.10","v4.1.9","v4.1.8","v4.1.7","v4.1.6","v4.1.5","v4.1.4","v4.1.3","v4.1.2","v4.1.1","v4.1.0","v4.0.3","v4.0.2","v4.0.1","v4.0.0","v3.4.0","v3.3.6","v3.3.5","v3.3.4","v3.3.3","v3.3.2","v3.3.0","v3.2.6","v3.2.5","v3.2.4","v3.2.3","v3.2.2","v3.2.1","v3.2","v3.1.6","v3.1.5","v3.1.4","v3.1.3","v3.1.2","v3.1.1","v3.1.0","v3.0.3","v3.0.2","v3.0.1","v3.0.0","v2.0.0","v1.7.1","v0.8.1","v1.7.0","v0.8.0","v1.6.1","v0.7.1","v1.6.0","v0.7.0","v1.5.4","v0.6.4","v1.5.3","v0.6.3","1.5.3","v1.5.2","v0.6.2","v1.5.1","v0.6.1","v1.5.0","v0.6.0","v1.4.0","v0.5.0","v1.3.2","v0.4.2","v1.3.1","v0.4.1","v1.3.0","v0.4.0","v1.2.0","v0.3.0","v1.1.0","v1.0.0","v0.1.0","v0.1.0-alpha"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-49283.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N"}]}