ssldump — security advisory
The fanx_fingerprint function in ssl/sslxprint.c of ssldump allocates a heap buffer for formatting FAN/1 X.509 certificate fingerprints. The allocation size is computed as strlen(b64) + strlen(hex) + 31, but the format string "fan1:x509:server:passive:%s:sha256:%s" contains 33 fixed characters in addition to the two variable-length fields and a null terminator, requiring strlen(b64) + strlen(hex) + 34 bytes. This miscalculation results in a 3-byte heap-based buffer overflow on every invocation of the function with valid inputs. The overflow occurs because sprintf writes the full formatted string into the undersized heap buffer without bounds checking. An attacker who can supply a crafted pcap file containing a TLS X.509 certificate to a user running ssldump with FAN/1 fingerprinting enabled (for example with the -j -N options) can trigger the overflow. The resulting heap corruption may lead to denial of service through a crash or, in a worst-case scenario, arbitrary code execution in the context of the user running ssldump. The vulnerability is deterministic and requires no special privileges beyond the ability to provide input to the tool.
- Products
- ssldump
- Affected versions
- 1.5-1, 1.8-1, 1.9-1, 1.9-2
- Fixed versions
- Not specified
- CVEs
- CVE-2026-111458
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 22:57 UTC · Revision 1
Source evidence
The fanx_fingerprint function in ssl/sslxprint.c of ssldump allocates a heap buffer for formatting FAN/1 X.509 certificate fingerprints. The allocation size is computed as strlen(b64) + strlen(hex) + 31, but the format string "fan1:x509:server:passive:%s:sha256:%s" contains 33 fixed characters in addition to the two variable-length fields and a null terminator, requiring strlen(b64) + strlen(hex) + 34 bytes. This miscalculation results in a 3-byte heap-based buffer overflow on every invocation of the function with valid inputs. The overflow occurs because sprintf writes the full formatted string into the undersized heap buffer without bounds checking. An attacker who can supply a crafted pcap file containing a TLS X.509 certificate to a user running ssldump with FAN/1 fingerprinting enabled (for example with the -j -N options) can trigger the overflow. The resulting heap corruption may lead to denial of service through a crash or, in a worst-case scenario, arbitrary code execution in the context of the user running ssldump. The vulnerability is deterministic and requires no special privileges beyond the ability to provide input to the tool.
osv:DEBIAN-CVE-2026-111458
ssldump
Fixed versions: Not specified
ssldump
Fixed versions: Not specified
ssldump
Fixed versions: Not specified
Complete source record
{
"id": "77f9e5b86dc64cfa77475abfe9d2266ee2b69430311295ffdb0adbeb68d24cf8",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-111458",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-111458",
"summary": "The fanx_fingerprint function in ssl/sslxprint.c of ssldump allocates a heap buffer for formatting FAN/1 X.509 certificate fingerprints. The allocation size is computed as strlen(b64) + strlen(hex) + 31, but the format string \"fan1:x509:server:passive:%s:sha256:%s\" contains 33 fixed characters in addition to the two variable-length fields and a null terminator, requiring strlen(b64) + strlen(hex) + 34 bytes. This miscalculation results in a 3-byte heap-based buffer overflow on every invocation of the function with valid inputs. The overflow occurs because sprintf writes the full formatted string into the undersized heap buffer without bounds checking. An attacker who can supply a crafted pcap file containing a TLS X.509 certificate to a user running ssldump with FAN/1 fingerprinting enabled (for example with the -j -N options) can trigger the overflow. The resulting heap corruption may lead to denial of service through a crash or, in a worst-case scenario, arbitrary code execution in the context of the user running ssldump. The vulnerability is deterministic and requires no special privileges beyond the ability to provide input to the tool.",
"evidence": "osv:DEBIAN-CVE-2026-111458",
"products": [
{
"name": {
"value": "ssldump",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.5-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.8-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.9-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.9-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "ssldump",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.9-1",
"evidence": "/affected/1/versions"
},
{
"value": "1.9-2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "ssldump",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.9-1",
"evidence": "/affected/2/versions"
},
{
"value": "1.9-2",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "DEBIAN-CVE-2026-111458",
"aliases": [
"DEBIAN-CVE-2026-111458"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:H/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": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ssldump",
"purl": "pkg:deb/debian/ssldump?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"1.5-1",
"1.8-1",
"1.9-1",
"1.9-2"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-111458.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ssldump",
"purl": "pkg:deb/debian/ssldump?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"1.9-1",
"1.9-2"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-111458.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ssldump",
"purl": "pkg:deb/debian/ssldump?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"1.9-1",
"1.9-2"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-111458.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
}
],
"modified": "2026-10-23T17:47:30.414217947Z",
"provider": "osv",
"upstream": [
"CVE-2026-111458"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-111458"
]
},
"related_cves": [
{
"value": "CVE-2026-111458",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 417310,
"published_at": "2026-10-16T06:17:09.51+00:00"
}