CVE-2025-48994
June 02, 2025
SignXML is an implementation of the W3C XML Signature standard in Python. When verifying signatures with X509 certificate validation turned off and HMAC shared secret set ("signxml.XMLVerifier.verify(require_x509=False, hmac_key=..."), versions of SignXML prior to 4.0.4 are vulnerable to a potential algorithm confusion attack. Unless the user explicitly limits the expected signature algorithms using the "signxml.XMLVerifier.verify(expect_config=...)" setting, an attacker may supply a signature unexpectedly signed with a key other than the provided HMAC key, using a different (asymmetric key) signature algorithm. Starting with SignXML 4.0.4, specifying "hmac_key" causes the set of accepted signature algorithms to be restricted to HMAC only, if not already restricted by the user.
Affected Packages
https://github.com/XML-Security/signxml.git (GITHUB):
Affected version(s) >=v0.1.0 < v4.0.4Fix Suggestion:
Update to version v4.0.4signxml (PYTHON):
Affected version(s) >=0.0.1 <4.0.4Fix Suggestion:
Update to version 4.0.4Related ResourcesĀ (4)
Do you need more information?
Contact UsCVSS v4
Base Score:
6.9
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
LOW
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
LOW
Availability
NONE
Weakness Type (CWE)
Incorrect Implementation of Authentication Algorithm
EPSS
Base Score:
0.06