Incorrect Implementation of Authentication Algorithm Affecting python-signxml package, versions <4.0.5+dfsg-1


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.03% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIANUNSTABLE-PYTHONSIGNXML-10292689
  • published3 Jun 2025
  • disclosed2 Jun 2025

Introduced: 2 Jun 2025

CVE-2025-48994  (opens in a new tab)
CWE-303  (opens in a new tab)

How to fix?

Upgrade Debian:unstable python-signxml to version 4.0.5+dfsg-1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream python-signxml package and not the python-signxml package as distributed by Debian. See How to fix? for Debian:unstable relevant fixed versions and status.

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.