CVE-2025-48994 json
SignXML's signature verification with HMAC is vulnerable to an algorithm confusion attack
published 2025-06-02 17 mo ago modified 2026-07-07 4 mo ago also GHSA-6vx8-pcwv-xhf4 , PYSEC-2026-1921 , EUVD-2025-16666
- cvss
- 6.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 13%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi signxml 4.0.4
- python-signxml Debian 14, Debian 13 4.0.5+dfsg-1
debian advisories DEBIAN-CVE-2025-48994
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 17 mo ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 13% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | 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 |
| CNA | 4.0 | 6.9 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | signxml | <4.0.4 |
4.0.4 |
Affected products
- XML-Security signxml
Classification
- Weakness
-
- CWE-303 Incorrect Implementation of Authentication Algorithm
References
-
github.com
/XML-Security/signxml/commit/e3c0c2b82a3329a65d917830657649c98b8c7600
web
-
github.com
/XML-Security/signxml/security/advisories/GHSA-6vx8-pcwv-xhf4
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-48994
advisory
-
github.com
/XML-Security/signxml
package
-
pypi.org
/project/signxml
package
-
github.com
/advisories/GHSA-6vx8-pcwv-xhf4
advisory
Sources
- CVE List CVE-2025-48994
- GitHub Advisory GHSA-6vx8-pcwv-xhf4
- NVD CVE-2025-48994
- OSV PYSEC-2026-1921
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.