VDB
KO

PYSEC-2026-1921

SignXML's signature verification with HMAC is vulnerable to an algorithm confusion attack

Details

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI / signxml
Introduced in: 0 Fixed in: 4.0.4
Fix pip install --upgrade 'signxml>=4.0.4'

References