Loading...
Skip to main content

CVE-2025-29774 — Vulnerability in xml-crypto — CVE Details

CRITICAL

xml-crypto Vulnerable to XML Signature Verification Bypass via Multiple SignedInfo References

Published March 14, 2025Updated September 10, 2026Source: osv

Summary

# Impact An attacker may be able to exploit this vulnerability to bypass authentication or authorization mechanisms in systems that rely on xml-crypto for verifying signed XML documents. The vulnerability allows an attacker to modify a valid signed XML message in a way that still passes signature verification checks. For example, it could be used to alter critical identity or access control attributes, enabling an attacker with a valid account to escalate privileges or impersonate another user. # Patches All versions <= 6.0.0 are affected. Please upgrade to version 6.0.1. If you are still using v2.x or v3.x please upgrade to the associated patch version. # Indicators of Compromise When logging XML payloads, check for the following indicators. If the payload includes encrypted elements, ensure you analyze the decrypted version for a complete assessment. (If encryption is not used, analyze the original XML document directly). This applies to various XML-based authentication and authorization flows, such as SAML Response payloads. ### Multiple SignedInfo Nodes There should not be more than one SignedInfo node inside a Signature. If you find multiple SignedInfo nodes, it could indicate an attack. ```xml <Signature> <SomeNode> <SignedInfo> <Reference URI="somefakereference"> <DigestValue>forgeddigestvalue</DigestValue> </Reference> </SignedInfo> </SomeNode> <SignedInfo> <Reference URI="realsignedreference"> <DigestValue>realdigestvalue</DigestValue> </Reference> </SignedInfo> </SignedInfo> </Signature> ``` ### Code to test Pass in the decrypted version of the document ```js decryptedDocument = ... // yours to implement // This check is per-Signature node, not per-document const signedInfoNodes = xpath.select(".//*[local-name(.)='SignedInfo']", signatureNode); if (signedInfoNodes.length === 0) { // Not necessarily a compromise, but invalid. Should contain exactly one SignedInfo node // Yours to implement } if (signedInfoNodes.length > 1) { // Compromise detected, yours to implement } ```

Advisory Timeline

  • First published March 14, 2025 (577 days ago).
  • Last revised September 10, 2026 — 544 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update xml-crypto to 3.2.1 or later
npm install xml-crypto@3.2.1
npm
Update xml-crypto to 2.1.6 or later
npm install xml-crypto@2.1.6
npm
Update xml-crypto to 6.0.1 or later
npm install xml-crypto@6.0.1

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (3)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
xml-crypto
npm
All versions3.2.1
xml-crypto
npm
All versions2.1.6
xml-crypto
npm
All versions6.0.1

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-347
    Improper Verification of Cryptographic SignatureMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2025-29774?
xml-crypto Vulnerable to XML Signature Verification Bypass via Multiple SignedInfo References This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2025-29774?
CVE-2025-29774 affects xml-crypto. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-29774 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-9p8x-f768-wp2g

Related CVEs

  • CVE-2024-32962
    CRITICAL

    xml-crypto vulnerable to XML signature verification bypass due improper verification of signature/signature spoofing

  • CVE-2026-107722
    CRITICAL

    fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

  • CVE-2026-108261
    CRITICAL

    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

  • CVE-2025-29775
    CRITICAL

    xml-crypto Vulnerable to XML Signature Verification Bypass via DigestValue Comment

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies