GitHub Advisoryadvisory · PyPI
GHSA-6vx8-pcwv-xhf4 SignXML's signature verification with HMAC is vulnerable to an algorithm confusion attack
MEDIUM
Official page ↗
- Aliases
- CVE-2025-48994
- Ecosystem
- PyPI
- Packages
- signxml
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-303
- Reviewed
- 2025-06-05
Affected packages
• PyPI signxml: < 4.0.4 → fixed in 4.0.4
Description
When verifying signatures with X509 certificate validation turned off and HMAC shared secret set (`signxml.XMLVerifier.verify(require_x509=False, hmac_key=...`), prior versions of SignXML 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.
Related
Alias · CVE (1)
- CVE-2025-48994 SignXML is an implementation of the W3C XML Signature standard in Python. vulnerability
Weakness · CWE (1)
- CWE-303 Incorrect Implementation of Authentication Algorithm weakness