A double-free vulnerability was found in libdwarf. In a multiply-corrupted DWARF object, libdwarf may try to dealloc(free) an allocation twice, potentially causing unpredictable and various results.
libdwarf before 20201201 allows a dwarfprintlines.c NULL pointer dereference and application crash via a DWARF5 line-table header that has an invalid FORM for a pathname.
libdwarf before 20201017 has a one-byte out-of-bounds read because of an invalid pointer dereference via an invalid line table in a crafted object.
There is a heap-based buffer over-read in libdwarf 0.4.0. This issue is related to dwarfglobalformrefb.
libdwarf 0.4.0 has a heap-based buffer over-read in dwarfcheckstringvalid in dwarfutil.c.
dwarfelfloadheaders.c in libdwarf before 2019-07-05 allows attackers to cause a denial of service
An issue, also known as DW201703-006, was discovered in libdwarf 2017-03-21. A heap-based buffer over-read in dwarfformsdata() is due to a failure to check a pointer for being in bounds (in a few places in this function) and a failure in a check in dwarfattrlist().
An issue, also known as DW201703-001, was discovered in libdwarf 2017-03-21. In dwarfformsdata() a few data types were not checked for being in bounds, leading to a heap-based buffer over-read.
An issue, also known as DW201703-005, was discovered in libdwarf 2017-03-21. A heap-based buffer over-read in dwarfreadlocexprop() is due to a failure to check a pointer for being in bounds (in a few places in this function).
An issue, also known as DW201703-002, was discovered in libdwarf 2017-03-21. In dwarfdecodesleb128chk() a byte pointer was dereferenced just before it was checked for being in bounds, leading to a heap-based buffer over-read.
(1) libdwarf/dwarfleb.c and (2) dwarfdump/printframes.c in libdwarf before 20161124 allow remote attackers to have unspecified impact via a crafted bit pattern in a signed leb number, aka a "negation overflow."
dwarfform.c in libdwarf 20160115 allows remote attackers to cause a denial of service (crash) via a crafted elf file.
The createfullestfilepath function in libdwarf before 20160923 allows remote attackers to cause a denial of service (NULL pointer dereference) via a crafted dwarf file.
The dumpblock function in printsections.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via crafted frame data.
The getattrvalue function in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted object with all-bits on.
The dwarfdealloc function in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted DWARF section.
The dwarfgetxuhashentry function in libdwarf before 20160923 allows remote attackers to cause a denial of service (crash) via a crafted file.
The dwarfgetmacrostartendfile function in dwarfmacro5.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted string offset for .debugstr.
Integer overflow in the dwarfdiedeliv.c in libdwarf 20160613 allows remote attackers to cause a denial of service (crash) via a crafted file.
The dwarfgetarangeslist function in libdwarf before 20160923 allows remote attackers to cause a denial of service (infinite loop and crash) via a crafted DWARF section.
The readlinetableprogram function in dwarflinetablereadercommon.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via crafted input.
The dwarfcalculateinfosectionendptr function in libdwarf before 20160923 allows remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file.
The printexprloccontent function in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted file.
The printframeinstbytes function in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted file.
The dwarfreadlinetableheader function in dwarflinetablereader.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted file.
libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a large length value in a compilation unit header.
The printframeinstbytes function in libdwarf before 20160923 allows remote attackers to cause a denial of service (NULL pointer dereference) via an object file with empty bss-like sections.
dwarfelfaccess.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds write) via a crafted file, related to relocation records.
The WRITEUNALIGNED function in dwarfelfaccess.c in libdwarf before 20160923 allows remote attackers to cause a denial of service (out-of-bounds write and crash) via a crafted DWARF section.
The dwarfloadsection function in libdwarf before 20160923 allows remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file.