Description
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 timing attack. The verifier may leak information about the correct HMAC when comparing it with the user supplied hash, allowing users to reconstruct the correct HMAC for any data.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| XML-Security | signxml | < 4.0.4 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-signxml | 4.0.5+dfsg-1 | — |
| Debian 13 | python-signxml | 4.0.5+dfsg-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | python-signxml | No fix yet | — |
| Ubuntu 26.04 LTS | python-signxml | No fix yet | — |
| Ubuntu 25.10 | python-signxml | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | signxml | < 4.0.4 | 4.0.4 | GHSA-gmhf-gg8w-jw42 |