CVE-2026-49284
SimpleSAMLphp SP accepts a response from an unexpected IdP when unsigned `Response/InResponseTo` is combined with a signed assertion lacking `SubjectConfirmationData/InResponseTo`
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.1
SimpleSAMLphp SP accepts a response from an unexpected IdP when unsigned `Response/InResponseTo` is combined with a signed assertion lacking `SubjectConfirmationData/InResponseTo`
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
CVE-2026-49284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-345
- Updated
- 2026-11-02
EUVDEUVD-2026-45284
7.1
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
EUVD-2026-45284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-q8r6-xj3f-wrrm
7.1
SimpleSAMLphp SP accepts a response from an unexpected IdP when unsigned `Response/InResponseTo` is combined with a signed assertion lacking `SubjectConfirmationData/InResponseTo`
Summary
SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login. If a saved SP state contains ExpectedIssuer = IdP A, but the ACS receives a valid response from IdP B, the code logs a warning and continues processing instead of rejecting the response.
That behavior becomes security-relevant when combined with the response-processing rule that accepts an unsigned samlp:Response/@InResponseTo outside the signed assertion whenever the signed assertion's SubjectConfirmationData does not carry its own InResponseTo. A response issued by one trusted IdP can therefore be bound to SP state created for another IdP.
Impact
In a multi-IdP deployment, a lower-trust IdP can satisfy SP state created for a different expected IdP. This can bypass an SP flow that intentionally routes the user to a specific IdP, including deployments that set enable_unsolicited to false to prevent IdP-initiated logins.
The impact is highest when the SP trusts multiple IdPs with different assurance levels, tenant boundaries, or attribute namespaces, and application authorization depends on the selected/expected IdP. In those deployments this is an authentication/authorization bypass candidate. Impact strongly depends on whether an attacker can obtain a signed IdP-initiated assertion from a lower-trust trusted IdP and whether the downstream application maps identifiers globally.
- Record
GHSA-q8r6-xj3f-wrrm- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-345
- Updated
- 2026-11-02
NVD
7.1
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
CVE-2026-49284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-345
- Updated
- 2026-11-02
OSV
7.1
SimpleSAMLphp SP accepts a response from an unexpected IdP when unsigned `Response/InResponseTo` is combined with a signed assertion lacking `SubjectConfirmationData/InResponseTo`
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
CVE-2026-49284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-345
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-49284
7.1
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
DEBIAN-CVE-2026-49284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-q8r6-xj3f-wrrm
7.1
SimpleSAMLphp SP accepts a response from an unexpected IdP when unsigned `Response/InResponseTo` is combined with a signed assertion lacking `SubjectConfirmationData/InResponseTo`
Summary
SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login. If a saved SP state contains ExpectedIssuer = IdP A, but the ACS receives a valid response from IdP B, the code logs a warning and continues processing instead of rejecting the response.
That behavior becomes security-relevant when combined with the response-processing rule that accepts an unsigned samlp:Response/@InResponseTo outside the signed assertion whenever the signed assertion's SubjectConfirmationData does not carry its own InResponseTo. A response issued by one trusted IdP can therefore be bound to SP state created for another IdP.
Impact
In a multi-IdP deployment, a lower-trust IdP can satisfy SP state created for a different expected IdP. This can bypass an SP flow that intentionally routes the user to a specific IdP, including deployments that set enable_unsolicited to false to prevent IdP-initiated logins.
The impact is highest when the SP trusts multiple IdPs with different assurance levels, tenant boundaries, or attribute namespaces, and application authorization depends on the selected/expected IdP. In those deployments this is an authentication/authorization bypass candidate. Impact strongly depends on whether an attacker can obtain a signed IdP-initiated assertion from a lower-trust trusted IdP and whether the downstream application maps identifiers globally.
- Record
GHSA-q8r6-xj3f-wrrm- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-345
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-49284
7.1
SimpleSAMLphp versions before 1.18.6 contain an information disclosure vulnerability. Prior to 2.4.7 and 2.5.2, SimpleSAMLphp's SAML SP ACS path does not enforce the IdP selected for an SP-initiated login when unsigned Response/InResponseTo is combined with a signed assertion lacking SubjectConfirmationData/InResponseTo, allowing a response issued by one trusted IdP to be bound to SP state created for another IdP and bypass flows that route users to a specific IdP, including deployments that set enable_unsolicited to false. This issue is fixed in versions 2.4.7 and 2.5.2.
- Record
UBUNTU-CVE-2026-49284- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
simplesamlphp/simplesamlphpPackagist |
2.5.0 to 2.5.1 | 2.5.2 |
simplesamlphp/simplesamlphpPackagist |
through 2.4.6 | 2.4.7 |
simplesamlphpDebian:12 |
All versions, plus listed versions 1.19.7-11.19.7-1+deb12u11.19.7-1+deb12u21.19.7-22.1.8-0.1 Show 5 moreShow less2.2.6-12.3.11-12.3.11-22.4.8-12.5.3.1-1 |
None known |
simplesamlphpDebian:14 |
before 2.4.8-1, plus listed versions 1.10.0-11.11.0-11.12.0-11.12.0~rc1-11.12.0~rc2-1 Show 45 moreShow less1.13.0-11.13.1-11.13.1-21.13.2-11.14.0-11.14.1-11.14.10-11.14.11-11.14.15-11.14.2-11.14.2-21.14.3-11.14.4-11.14.5-11.14.6-11.14.7-11.14.8-11.14.9-11.15.0-11.15.1-11.15.2-11.15.3-11.15.4-11.16.0-11.16.1-11.16.2-11.16.3-11.17.0-11.17.1-11.17.2-11.17.2-21.17.3-11.17.4-11.17.5-11.17.6-11.17.6-21.18.1-11.18.4-11.18.5-11.18.6-11.18.7-11.18.8-11.19.0-11.19.1-11.19.1-1.1 |
2.4.8-1 |
simplesamlphp/simplesamlphpPackagist |
2.5.0 up to 2.5.2, plus listed versions v2.5.0v2.5.1 |
2.5.2 |
simplesamlphp/simplesamlphpPackagist |
before 2.4.7, plus listed versions 1.16.01.16.0-rc11.16.11.16.21.16.3 Show 45 moreShow less1.19.81.19.92.0.22.0.32.0.42.0.4-alpha.12.0.52.1.02.1.0-rc1v1.12.0v1.13.0v1.13.0-rc1v1.13.0-rc2v1.13.1v1.13.2v1.14.0v1.14.0-rc1v1.14.1v1.14.10v1.14.11v1.14.12v1.14.13v1.14.14v1.14.15v1.14.16v1.14.17v1.14.2v1.14.3v1.14.4v1.14.5v1.14.6v1.14.7v1.14.8v1.14.9v1.15.0v1.15.0-rc1v1.15.0-rc2v1.15.0-rc3v1.15.1v1.15.2v1.15.3v1.15.4v1.17.0v1.17.0-rc1v1.17.0-rc2 |
2.4.7 |
simplesamlphpUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.13.2-11.14.0-11.14.0-1ubuntu21.14.0-1ubuntu2+esm1 |
None known |
simplesamlphpUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.14.15-11.15.0-11.15.1-11.15.2-11.15.3-11.15.3-1ubuntu0.1~esm1 |
None known |
simplesamlphpUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.17.5-11.17.6-11.17.6-21.18.1-11.18.4-11.18.4-1ubuntu0.1~esm1 |
None known |
simplesamlphpUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 1.19.1-11.19.1-1.11.19.1-1.1ubuntu0.1~esm1 |
None known |
simplesamlphpUbuntu:24.04:LTS |
All versions, plus listed versions 1.19.7-11.19.7-1+deb12u1ubuntu0.1 |
None known |
simplesamlphpUbuntu:26.10 |
All versions, plus listed versions 1.19.7-22.1.8-0.12.2.6-12.3.11-12.3.11-22.4.8-12.5.3.1-1 |
None known |
simplesamlphpUbuntu:26.04:LTS |
All versions, plus listed versions 1.19.7-2 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-49284 is a high vulnerability (CVSS 7.1) in Simplesamlphp, published July 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in simplesamlphp/simplesamlphp 2.5.2.
References
github.com/simplesamlphp/simplesamlphp/security/advisories/GHSA-q8r6-xj3f-wrrm
github.com/simplesamlphp/simplesamlphp/releases/tag/v2.4.7
github.com/simplesamlphp/simplesamlphp/releases/tag/v2.5.2
github.com/advisories/GHSA-q8r6-xj3f-wrrm
github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49284.json
nvd.nist.gov/vuln/detail/CVE-2026-49284
Left out here: 107 versions. The JSON record has them.