python-signxml — security advisory
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.
- Products
- python-signxml
- Affected versions
- 4.0.3+dfsg-1, 4.0.5+dfsg-1, 4.0.5+dfsg-2, 4.2.0+dfsg-1, 4.4.0+dfsg-1
- Fixed versions
- Not specified
- CVEs
- CVE-2025-48995
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 01:33 UTC · Revision 1
Source evidence
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.
osv:UBUNTU-CVE-2025-48995
python-signxml
Fixed versions: Not specified
python-signxml
Fixed versions: Not specified
python-signxml
Fixed versions: Not specified
Complete source record
{
"id": "b36f3bc5a42cfaaa511fe2cafd66b0df1d197f9e09362d4745b09e6ed9d3a361",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2025-48995",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2025-48995",
"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 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.",
"evidence": "osv:UBUNTU-CVE-2025-48995",
"products": [
{
"name": {
"value": "python-signxml",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.0.3+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5+dfsg-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "python-signxml",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.2.0+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "4.4.0+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "python-signxml",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.0.5+dfsg-2",
"evidence": "/affected/2/versions"
},
{
"value": "4.2.0+dfsg-1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2025-48995",
"aliases": [
"UBUNTU-CVE-2025-48995"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-signxml",
"purl": "pkg:deb/ubuntu/python-signxml?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"4.0.3+dfsg-1",
"4.0.5+dfsg-1",
"4.0.5+dfsg-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48995.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-signxml",
"binary_version": "4.0.5+dfsg-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-signxml",
"purl": "pkg:deb/ubuntu/python-signxml?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"4.2.0+dfsg-1",
"4.4.0+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48995.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-signxml",
"binary_version": "4.4.0+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-signxml",
"purl": "pkg:deb/ubuntu/python-signxml?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"4.0.5+dfsg-2",
"4.2.0+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48995.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-signxml",
"binary_version": "4.2.0+dfsg-1"
}
]
}
}
],
"modified": "2026-10-17T12:57:06.186463526Z",
"provider": "osv",
"upstream": [
"CVE-2025-48995"
],
"references": [
"https://ubuntu.com/security/CVE-2025-48995",
"https://www.cve.org/CVERecord?id=CVE-2025-48995",
"https://github.com/XML-Security/signxml/security/advisories/GHSA-gmhf-gg8w-jw42",
"https://github.com/XML-Security/signxml/commit/1b501faaacf34cf978a52dbc6915ec11e27611cd"
]
},
"related_cves": [
{
"value": "CVE-2025-48995",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 356721,
"published_at": "2025-06-02T17:15:00+00:00"
}