CVE-2024-52596
SimpleSAMLphp xml-common XXE vulnerability
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.8
SimpleSAMLphp xml-common XXE vulnerability
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
CVE-2024-52596- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Weakness
- CWE-611
- Updated
- 2026-11-02
EUVDEUVD-2024-3414
8.8
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
EUVD-2024-3414- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-2x65-fpch-2fcm
8.8
SimpleSAMLphp xml-common XXE vulnerability
Summary
When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE.
$options is defined as: https://github.com/simplesamlphp/xml-common/blob/v1.19.0/src/DOMDocumentFactory.php#L39 including the DTDLoad option, which allows an attacker to read file contents from local file system OR internal network.
While there is the NONET option, an attacker can simply bypass if by using PHP filters: php://filter/convert.base64-encode/resource=http://URL OR FILE
From there an attacker can induce network connections and steal the targeted file OOB (haven't fully tested this).
RCE may be possible with the php://expect or php://phar wrappers, but this hasn't been tested.
Note: The mitigation here: https://github.com/simplesamlphp/xml-common/blob/v1.19.0/src/DOMDocumentFactory.php#L58 Comes too late, as the XML has already been loaded into a document. Mitigation:
Remove the LIBXML_DTDLOAD | LIBXML_DTDATTR options. Additionally, as a defense in depth measure, check if there is the string: <!DOCTYPE inside the XML before parsing it. (This is not a complete fix because someone may be able to exploit some parser differentials, to load a DOCTYPE, maybe through spacing like: <! DOCTYPE)
- Record
GHSA-2x65-fpch-2fcm- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Weakness
- CWE-611
- Updated
- 2026-11-02
NVD
8.8
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
CVE-2024-52596- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-611
- Updated
- 2026-11-02
OSV
8.8
SimpleSAMLphp xml-common XXE vulnerability
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
CVE-2024-52596- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Weakness
- CWE-611
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-52596
8.8
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
DEBIAN-CVE-2024-52596- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVGHSA-2x65-fpch-2fcm
8.8
SimpleSAMLphp xml-common XXE vulnerability
Summary
When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE.
$options is defined as: https://github.com/simplesamlphp/xml-common/blob/v1.19.0/src/DOMDocumentFactory.php#L39 including the DTDLoad option, which allows an attacker to read file contents from local file system OR internal network.
While there is the NONET option, an attacker can simply bypass if by using PHP filters: php://filter/convert.base64-encode/resource=http://URL OR FILE
From there an attacker can induce network connections and steal the targeted file OOB (haven't fully tested this).
RCE may be possible with the php://expect or php://phar wrappers, but this hasn't been tested.
Note: The mitigation here: https://github.com/simplesamlphp/xml-common/blob/v1.19.0/src/DOMDocumentFactory.php#L58 Comes too late, as the XML has already been loaded into a document. Mitigation:
Remove the LIBXML_DTDLOAD | LIBXML_DTDATTR options. Additionally, as a defense in depth measure, check if there is the string: <!DOCTYPE inside the XML before parsing it. (This is not a complete fix because someone may be able to exploit some parser differentials, to load a DOCTYPE, maybe through spacing like: <! DOCTYPE)
- Record
GHSA-2x65-fpch-2fcm- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Weakness
- CWE-611
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-52596
8.8
SimpleSAMLphp xml-common is a common classes for handling XML-structures. When loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE. This vulnerability is fixed in 1.19.0.
- Record
UBUNTU-CVE-2024-52596- CVSS 4.0
- 8.8 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:L/SI:L/SA:N - Updated
- 2026-11-02
OSVUSN-8770-1 No score
simplesamlphp vulnerabilities
It was discovered that SimpleSAMLphp incorrectly validated cryptographic signatures in XML messages. An authenticated attacker could possibly use this issue to impersonate users or gain elevated privileges. This issue only affected Ubuntu 16.04 LTS and Ubuntu 18.04 LTS. (CVE-2019-3465)
It was discovered that SimpleSAMLphp incorrectly handled external entities when parsing untrusted XML documents. A remote attacker could possibly use this issue to obtain sensitive information. This issue did not affect Ubuntu 24.04 LTS. (CVE-2024-52596)
It was discovered that SimpleSAMLphp incorrectly verified signatures in SAML messages using the HTTP-Redirect binding. A remote attacker could possibly use this issue to bypass authentication and impersonate users. (CVE-2025-27773)
- Record
USN-8770-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
simplesamlphp/xml-commonPackagist |
before 1.20 | 1.20 |
simplesamlphpDebian:12 |
before 1.19.7-1+deb12u1, plus listed versions 1.19.7-1 |
1.19.7-1+deb12u1 |
simplesamlphpDebian:14 |
before 1.19.7-1+deb12u1, 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 |
1.19.7-1+deb12u1 |
simplesamlphpDebian:11 From an advisory covering 2 CVEs |
before 1.19.0-1+deb11u1, plus listed versions 1.19.0-1 |
1.19.0-1+deb11u1 |
simplesamlphpDebian:12 From an advisory covering 2 CVEs |
before 1.19.7-1+deb12u1, plus listed versions 1.19.7-1 |
1.19.7-1+deb12u1 |
simplesamlphp/xml-commonPackagist |
before 1.20.0, plus listed versions 0.8.110.8.12v0.1.0v0.1.1v0.1.2 Show 45 moreShow lessv0.10.0v0.10.1v0.10.2v0.10.3v0.11.0v0.11.1v0.11.2v0.11.3v0.12.0v0.12.1v0.12.2v0.12.3v0.12.4v0.2.0v0.2.1v0.3.0v0.3.1v0.3.2v0.4.0v0.4.1v0.4.2v0.4.3v0.4.4v0.4.5v0.4.6v0.4.7v0.4.8v0.4.9v0.5.0v0.5.1v0.5.2v0.5.3v0.5.4v0.5.5v0.5.6v0.5.7v0.5.8v0.6.0v0.6.1v0.6.2v0.7.0v0.7.1v0.8.0v0.8.1v0.8.10 |
1.20.0 |
simplesamlphpUbuntu:Pro:16.04:LTS |
before 1.14.0-1ubuntu2+esm1, plus listed versions 1.13.2-11.14.0-11.14.0-1ubuntu2 |
1.14.0-1ubuntu2+esm1 |
simplesamlphpUbuntu:Pro:18.04:LTS |
before 1.15.3-1ubuntu0.1~esm1, plus listed versions 1.14.15-11.15.0-11.15.1-11.15.2-11.15.3-1 |
1.15.3-1ubuntu0.1~esm1 |
simplesamlphpUbuntu:Pro:20.04:LTS |
before 1.18.4-1ubuntu0.1~esm1, plus listed versions 1.17.5-11.17.6-11.17.6-21.18.1-11.18.4-1 |
1.18.4-1ubuntu0.1~esm1 |
simplesamlphpUbuntu:Pro:22.04:LTS |
before 1.19.1-1.1ubuntu0.1~esm1, plus listed versions 1.19.1-11.19.1-1.1 |
1.19.1-1.1ubuntu0.1~esm1 |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
simplesamlphpUbuntu:24.04:LTS |
before 1.19.7-1+deb12u1ubuntu0.1, plus listed versions 1.19.7-1 |
1.19.7-1+deb12u1ubuntu0.1 |
simplesamlphpUbuntu:25.10 |
All versions, plus listed versions 1.19.7-1+deb12u11.19.7-2 |
None known |
simplesamlphpUbuntu:Pro:16.04:LTS From an advisory covering 3 CVEs |
before 1.14.0-1ubuntu2+esm1, plus listed versions 1.13.2-11.14.0-11.14.0-1ubuntu2 |
1.14.0-1ubuntu2+esm1 |
simplesamlphpUbuntu:Pro:18.04:LTS From an advisory covering 3 CVEs |
before 1.15.3-1ubuntu0.1~esm1, plus listed versions 1.14.15-11.15.0-11.15.1-11.15.2-11.15.3-1 |
1.15.3-1ubuntu0.1~esm1 |
simplesamlphpUbuntu:Pro:20.04:LTS From an advisory covering 3 CVEs |
before 1.18.4-1ubuntu0.1~esm1, plus listed versions 1.17.5-11.17.6-11.17.6-21.18.1-11.18.4-1 |
1.18.4-1ubuntu0.1~esm1 |
simplesamlphpUbuntu:Pro:22.04:LTS From an advisory covering 3 CVEs |
before 1.19.1-1.1ubuntu0.1~esm1, plus listed versions 1.19.1-11.19.1-1.1 |
1.19.1-1.1ubuntu0.1~esm1 |
simplesamlphpUbuntu:24.04:LTS From an advisory covering 3 CVEs |
before 1.19.7-1+deb12u1ubuntu0.1, plus listed versions 1.19.7-1 |
1.19.7-1+deb12u1ubuntu0.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| 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-2024-52596 is a high vulnerability (CVSS 8.8) in Simplesamlphp Xml-common, published December 2, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.98%, the 62nd percentile. Fixed in simplesamlphp/xml-common 1.20.
References
github.com/simplesamlphp/xml-common/security/advisories/GHSA-2x65-fpch-2fcm
github.com/simplesamlphp/xml-common/commit/fa4ade391c3194466acf5fbfd5d2ecdbf5e831f5
lists.debian.org/debian-lts-announce/2024/12/msg00001.html
nvd.nist.gov/vuln/detail/CVE-2024-52596
github.com/advisories/GHSA-2x65-fpch-2fcm
github.com/CVEProject/cvelistV5/tree/main/cves/2024/52xxx/CVE-2024-52596.json
Show 8 moreShow less
security-tracker.debian.org/tracker/CVE-2024-52596
github.com/simplesamlphp/xml-common
ubuntu.com/security/CVE-2024-52596
cve.org/CVERecord?id=CVE-2024-52596
github.com/simplesamlphp/simplesamlphp/releases/tag/v2.3.4
ubuntu.com/security/notices/USN-8770-1
ubuntu.com/security/CVE-2019-3465
ubuntu.com/security/CVE-2025-27773
Left out here: 90 versions. The JSON record has them.