CVE-2020-27545 (C, published 2023-04-16T00:15Z)
Description: value: 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.
Severity: nan (CVSS v3 base score: 6.5)
Weakness: CWE-763 \u2014 Release of Invalid Pointer or Reference
The product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly.
Repository: https://github.com/davea42/libdwarf-code
Files changed:
ChangeLog
configure
configure.ac
dwarfdump/ChangeLog
dwarfdump/dwarf_names.c
dwarfdump/dwarf_names.h
dwarfdump/dwarfdump-ta-ext-table.h
dwarfdump/dwarfdump-ta-table.h
dwarfdump/dwarfdump-tt-ext-table.h
dwarfdump/dwarfdump-tt-table.h
libdwarf/ChangeLog
libdwarf/dwarf_names.c
libdwarf/dwarf_names.h
libdwarf/dwarf_names_enum.h
libdwarf/dwarf_names_new.h
libdwarf/generated_libdwarf.h.in
libdwarf/libdwarf_version.h
Commit message: modified:   configure
	modified:   configure.ac now version 20201017

updated version string libdwarf_version.h
and regenerated files that have the version
string.
	modified:   dwarfdump/dwarf_names.c
	modified:   dwarfdump/dwarf_names.h
	modified:   dwarfdump/dwarfdump-ta-ext-table.h
	modified:   dwarfdump/dwarfdump-ta-table.h
	modified:   dwarfdump/dwarfdump-tt-ext-table.h
	modified:   dwarfdump/dwarfdump-tt-table.h

	modified:   libdwarf/dwarf_names.c
	modified:   libdwarf/dwarf_names.h
	modified:   libdwarf/dwarf_names_enum.h
	modified:   libdwarf/dwarf_names_new.h
	modified:   libdwarf/generated_libdwarf.h.in
	modified:   libdwarf/libdwarf_version.h


Vulnerable code:
# Generated by GNU Autoconf 2.69 for libdwarf 20201011.
PACKAGE_VERSION='20201011'
PACKAGE_STRING='libdwarf 20201011'
\`configure' configures libdwarf 20201011 to adapt to many kinds of systems.
     short | recursive ) echo "Configuration of libdwarf 20201011:";;
libdwarf configure 20201011
It was created by libdwarf $as_me 20201011, which was
 VERSION='20201011'
This file was extended by libdwarf $as_me 20201011, which was
libdwarf config.status 20201011
m4_define([v_date], [20201011])])
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
/* Generated sourcedate  2020-10-11 11:34:27-07:00   */
    in the macro unit header. */
#define DW_VERSION_DATE_STR " 2020-10-11 11:34:27-07:00  "

Fixed code:
2020-10-17  David Anderson
    * configure.ac: Now version 20201017
    * configure: Regenerated.
# Generated by GNU Autoconf 2.69 for libdwarf 20201017.
PACKAGE_VERSION='20201017'
PACKAGE_STRING='libdwarf 20201017'
\`configure' configures libdwarf 20201017 to adapt to many kinds of systems.
     short | recursive ) echo "Configuration of libdwarf 20201017:";;
libdwarf configure 20201017
It was created by libdwarf $as_me 20201017, which was
 VERSION='20201017'
This file was extended by libdwarf $as_me 20201017, which was
libdwarf config.status 20201017
m4_define([v_date], [20201017])])
2020-10-17: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h,
      dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h,
      dwarfdump-tt-table.h: Regenerated with latest
      version string.
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
2020-10-17: David Anderson
    * libdwarf_version.h: updated version string
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h: regenerated with new version string.
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
/* Generated sourcedate  2020-10-17 11:30:22-07:00   */
    in the macro unit header. The last op has
    0 as opcode_number,operand_count and operand_array */
#define DW_VERSION_DATE_STR " 2020-10-17 11:30:22-07:00  "