
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-66578 is an authentication bypass vulnerability in the PHP library xmlseclibs, caused by a flaw in how the library handles libxml2 canonicalization failures during XML document transformation. Affected versions are all releases up to and including 3.1.3; the issue is fixed in version 3.1.4. The vulnerability was published on December 8, 2025, and assigned a CVSS v3.1 base score of 7.5 (High) by NVD (network-exploitable, no privileges required, no user interaction), though the GitHub Advisory rates it as Moderate (6.0) with high privileges required (Github Advisory, GHSA Security Advisory).
The root cause is classified as CWE-248 (Uncaught Exception): when libxml2's canonicalization (C14N()) is invoked on invalid XML input, it may return false or an empty string instead of a canonicalized node, and xmlseclibs does not check for this failure condition at line 296 of src/XMLSecurityDSig.php (GHSA Security Advisory). The library then proceeds to compute the DigestValue over this empty string, effectively treating a failed canonicalization as a successful one. This enables two attack paths: (1) crafting XML input that forces canonicalization to yield an empty string, causing digest validation to pass incorrectly; and (2) replaying a previously obtained signature over an empty canonical form to bypass authentication checks. The fix in commit 69fd630 adds an explicit check — if C14N() returns false, an exception is thrown and validation is aborted (Patch Commit).
Successful exploitation allows an attacker to bypass XML digital signature and digest validation, effectively forging or replaying authentication tokens in systems that rely on xmlseclibs for XML Security (e.g., SAML-based SSO flows using SimpleSAMLphp, LightSAML, or OneLogin). The primary impact is on integrity — an attacker can authenticate as an arbitrary user or escalate privileges without valid credentials. Confidentiality may also be affected if the bypassed authentication gate protects sensitive data or administrative functions. Availability is not directly impacted (Github Advisory).
No public proof-of-concept exploit code has been identified beyond the advisory description. The vulnerability was reported by researcher "d0ge" and disclosed via GitHub's security advisory process on December 8, 2025 (Github Advisory). The EPSS score is approximately 0.032% (10th percentile), indicating a low near-term exploitation probability. There is no evidence of in-the-wild exploitation, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires the ability to submit crafted XML to an endpoint that performs signature validation using xmlseclibs.
/saml/acs in SimpleSAMLphp or similar frameworks).C14N() to return false or an empty string when canonicalization is attempted on the referenced node (e.g., by using an invalid or malformed XML namespace or node reference in the <Reference> element).<DigestValue> in the XML signature structure.<SignatureValue> from a legitimate interaction (replay attack), or sign the empty canonical form if a signing key is available.<DigestValue> matches, validateDigest() returns true and authentication is bypassed./saml/acs, /saml2/sp/acs) with XML payloads containing malformed or empty canonicalized nodes; requests with DigestValue matching the hash of an empty string (e.g., SHA-256 of empty string: 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=).Upgrade xmlseclibs to version 3.1.4 or later, which adds an explicit check in canonicalizeData() that throws an exception if C14N() returns false, preventing silent bypass (Patch Commit). For those unable to upgrade immediately, the advisory recommends two workarounds: (1) treat any canonicalization failure — including exceptions or nil/empty outputs — as fatal and abort validation; and (2) add explicit application-level checks to reject processing when canonicalize returns nil, empty, or raises an error (GHSA Security Advisory). Downstream projects such as SimpleSAMLphp, LightSAML, and OneLogin that bundle xmlseclibs should also be updated to pull in the patched version via Composer (composer update robrichards/xmlseclibs).
The vulnerability was reported by security researcher "d0ge" and disclosed through GitHub's coordinated security advisory process on December 8, 2025 (Github Advisory). Red Hat acknowledged the CVE and published a tracking entry (Red Hat CVE). No significant broader media coverage or notable community debate has been identified beyond standard vulnerability database aggregation.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."