---
id: CVE-2026-112273
title: 'libtins through 4.6 Heap Out-of-Bounds Read via DNS::compose_name'
summary: >-
  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 deliv…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cvssSource: cna
cwe:
  - CWE-125
vendor: libtins
product: libtins
affected:
  - libtins <= 4.6
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T13:55:20.684Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112273'
references:
  - url: 'https://hackmd.io/@haindpwn/libtins-dns-name-parsing-oob-read'
  - url: 'https://github.com/mfontanini/libtins/blob/v4.6/src/dns.cpp#L338-L389'
  - url: 'https://github.com/mfontanini/libtins'
  - url: >-
      https://www.vulncheck.com/advisories/libtins-through-4.6-heap-out-of-bounds-read-via-dns-compose-name
    label: >-
      VulnCheck Advisory: libtins through 4.6 Heap Out-of-Bounds Read via
      DNS::compose_name
tags:
  - cve.org
ingestedAt: '2026-10-19T14:30:01.073Z'
---

## Overview

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.

## Affected

- `libtins <= 4.6`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
