Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted DNS packet to parser
-
ExploitLabel ends exactly at packet end
-
ExecutionOne-byte heap out-of-bounds read in compose_name
-
ImpactApplication crash (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application built on libtins (through 4.6) actually parses attacker-influenced DNS packets - i.e., the DNS record-parsing path reaching DNS::compose_name must be exercised on additional, answer, or authority records. The specific trigger is a DNS label whose encoding ends exactly at the packet buffer boundary, causing a one-byte read past the buffer. Limiting factors: impact is bounded to a crash (DoS) and is most reliably triggered on hardened/guarded allocators; applications using non-hardened allocators may read adjacent heap memory without crashing. No authentication or user interaction is required (PR:N/UI:N), but the attacker must be able to deliver or inject the malicious DNS packet into the application's parsing pipeline. |
| Impact | This is a moderate-severity, low-real-priority issue despite a network-reachable attack surface. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes remote, unauthenticated, low-complexity reachability, but the impact metrics are narrow: VC:N/VI:N/VA:L - no confidentiality or integrity impact and only LOW availability impact, consistent with a one-byte heap out-of-bounds READ (CWE-125) that crashes applications on hardened allocators rather than leaking meaningful data or enabling code execution. The 'Information Disclosure' tag overstates the confidentiality consequence: the authoritative CVSS vector sets VC:N, so the realistic outcome is a denial-of-service crash, not data exfiltration - verify intended impact with VulnCheck/the researcher. No EPSS score was provided, so exploitation probability cannot be quantified. The CVE is NOT in CISA KEV and no POC flag was supplied in the structured data; a public hackmd write-up describing the parsing bug is referenced, which raises the likelihood that reproduction details are public, but that is an analysis write-up, not a confirmed weaponized exploit. No SSVC decision data was provided. Net: a genuine but low-impact DoS primitive in a non-ubiquitous library, appropriate for routine patching rather than emergency response. |
| Exploit ScenarioDerived | An attacker who can get a vulnerable application (e.g., a packet analyzer, IDS, or network tool built on libtins) to parse attacker-supplied DNS traffic sends a crafted DNS packet whose additional, answer, or authority record contains a label ending exactly at the packet boundary. When DNS::compose_name parses this, it reads one byte past the packet buffer, crashing the process on hardened allocators (denial of service). A public hackmd write-up documents the parsing flaw, but no confirmed weaponized exploit was provided in the input data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Heap out-of-bounds read in libtins's DNS name parser through version 4.6 can be triggered by a crafted DNS label that ends exactly at the packet buffer boundary, causing a one-byte read past the buffer when additional, answer, or authority records are parsed. The flaw is network-reachable and unauthenticated per the CVSS vector (PR:N/UI:N), but impact is limited to availability: affected applications may crash, especially on hardened allocators, while non-hardened allocators may only read adjacent memory. No public exploit identified at time of analysis.
RemediationAI
No vendor-released fixed version is identified in the provided data; consult the upstream libtins repository and the VulnCheck advisory https://www.vulncheck.com/advisories/libtins-through-4.6-heap-out-of-bounds-read-via-dns-compose-name for an update, and patch DNS::compose_name to verify that each label length and offset stays within the packet buffer before reading. Until a fixed release is available, avoid feeding untrusted DNS packets into libtins-based parsers, or front-end the parser with strict DNS message validation that rejects labels ending at or beyond the buffer boundary; disabling DNS parsing breaks that feature, and a custom bounds check must be maintained. Run DNS-parsing components in a separate, resource-limited process or container so a one-byte over-read crash has reduced blast radius, accepting added operational overhead.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libtins is a C++ library for network packet crafting, sniffing, and parsing; its DNS layer decodes record names through DNS::compose_name in src/dns.cpp. The root cause is CWE-125, an out-of-bounds read: when a label's encoded bytes end exactly at the end of the packet buffer, the parser reads one byte beyond the buffer while processing additional, answer, or authority records. The CPE cpe:2.3:a:libtins:libtins:*:*:*:*:*:*:*:* and the description scope the affected code through version 4.6. Because this is a read rather than a write, the primary effect is a crash or denial of service on hardened allocators, with potential adjacent-memory exposure depending on allocator behavior; exploitation requires the application to feed attacker-controlled DNS packets into this parsing path.
Know when Libtins gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Remote unauthenticated parsing of crafted DNS packets (AV:N/AC:L/PR:N/UI:N); impact is a one-byte OOB read causing a crash, so A:L and C:N/I:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
libtins through 4.6 contains a heap out-of-bounds read vulnerability in DNS::compose_name in src/dns.cpp that allows remote attackers to read past the packet buffer by sending a label ending exactly at the packet end. Attackers can deliver crafted DNS packets whose additional, answer, or authority records trigger a one-byte read when parsed, crashing applications on hardened allocators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-104300
GHSA-q9cp-6gg7-9cpm
NVD
CVE.org
EPSS
Exploit-DB