CVE-2026-49283
HighCVSS 8.7Summary
The SimpleSAMLphp SAML2 library prior to versions 4.19.3, 4.20.2, 5.0.6, and 6.2.1 has a vulnerability in the HTTPArtifact::receive() flow that can treat an unsigned embedded SAML Response as cryptographically valid for the wrong identity provider. In a multi-IdP federation, a malicious or lower-trust IdP can impersonate a higher-trust victim IdP and authenticate as arbitrary users. This issue is fixed in versions 4.19.3, 4.20.2, 5.0.6, and 6.2.1.
Risk Assessment
The vulnerability allows unauthorized access to systems and data, as well as user impersonation in federated environments, posing a serious security threat.
Recommendation
Update the SimpleSAMLphp SAML2 library to one of the versions: 4.19.3, 4.20.2, 5.0.6, or 6.2.1.
Original NVD description (English source)
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.

