diff --git a/advisories/github-reviewed/2024/12/GHSA-pxm4-r5ph-q2m2/GHSA-pxm4-r5ph-q2m2.json b/advisories/github-reviewed/2024/12/GHSA-pxm4-r5ph-q2m2/GHSA-pxm4-r5ph-q2m2.json index 2fac1bd944d..dc7f5c466cf 100644 --- a/advisories/github-reviewed/2024/12/GHSA-pxm4-r5ph-q2m2/GHSA-pxm4-r5ph-q2m2.json +++ b/advisories/github-reviewed/2024/12/GHSA-pxm4-r5ph-q2m2/GHSA-pxm4-r5ph-q2m2.json @@ -1,13 +1,13 @@ { "schema_version": "1.4.0", "id": "GHSA-pxm4-r5ph-q2m2", - "modified": "2024-12-04T22:24:22Z", + "modified": "2024-12-13T20:39:57Z", "published": "2024-12-02T17:25:43Z", "aliases": [ "CVE-2024-52806" ], "summary": "SimpleSAMLphp SAML2 has an XXE in parsing SAML messages", - "details": "# Summary\nWhen loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE.\n\n## Mitigation:\n\nRemove the `LIBXML_DTDLOAD | LIBXML_DTDATTR` options from `$options` is in: https://github.com/simplesamlphp/saml2/blob/717c0adc4877ebd58428637e5626345e59fa0109/src/SAML2/DOMDocumentFactory.php#L41\n\n## Background / details\n\nTo be published on Dec 8th", + "details": "Summary\n\nWhen loading an (untrusted) XML document, for example the SAMLResponse, it's possible to induce an XXE.\n\n$options is defined as: https://github.com/simplesamlphp/saml2/blob/717c0adc4877ebd58428637e5626345e59fa0109/src/SAML2/DOMDocumentFactory.php#L41\nincluding the DTDLoad option, which allows an attacker to read file contents from local file system OR internal network.\n\nWhile there is the NONET option, an attacker can simply bypass if by using PHP filters:\nphp://filter/convert.base64-encode/resource=http://URL OR FILE\n\nFrom there an attacker can induce network connections and steal the targeted file OOB (haven't fully tested this).\n\nRCE may be possible with the php://expect or php://phar wrappers, but this hasn't been tested.\n\nNote:\nThe mitigation here:\nhttps://github.com/simplesamlphp/saml2/blob/717c0adc4877ebd58428637e5626345e59fa0109/src/SAML2/DOMDocumentFactory.php#L63-L69\nComes too late, as the XML has already been loaded into a document.\nMitigation:\n\nRemove the LIBXML_DTDLOAD | LIBXML_DTDATTR options.\nAdditionally, as a defense in depth measure, check if there is the string: