Description
libdwarf through 2.3.3 contains a heap out-of-bounds read vulnerability in dwarf_debug_addr_table() that omits the table starting offset when validating .debug_addr unit length. Attackers can supply a crafted object file with a non-zero offset table, causing dwarf_debug_addr_by_index() to read past the heap buffer, disclosing adjacent heap bytes or crashing consumers.
Metrics
CVSS 3.1 4.4/10
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:LWeakness enumeration
Affected software
Source: the vendor's advisory (CNA). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| davea42 | libdwarf | <= 2.3.3 |
References
- https://github.com/davea42/libdwarf-code
- https://github.com/davea42/libdwarf-code/blob/v2.3.3/src/lib/libdwarf/dwarf_debugaddr.c#L175-L216
- https://github.com/davea42/libdwarf-code/commit/71f04013ddc2a3c88b9e25a4162ee2824741b593
- https://github.com/davea42/libdwarf-code/issues/336
- https://hackmd.io/@haindpwn/libdwarf-debug-addr-table-section-offset-oob-read
- https://www.vulncheck.com/advisories/libdwarf-through-2.3.3-heap-out-of-bounds-read-via-dwarf-debug-addr-table
Timeline
- Published
- Oct 26, 2026
- Last modified
- Oct 31, 2026
- NVD status
- Awaiting Analysis