{"id":"CVE-2019-7148","aliases":["ALPINE-CVE-2019-7148","BELL-CVE-2019-7148","DEBIAN-CVE-2019-7148","EUVD-2019-16698","GHSA-67vc-2q9c-6854","SUSE-SU-2022:2614-1","SUSE-SU-2022:2614-2","UBUNTU-CVE-2019-7148"],"status":"published","title":"An attempted excessive memory allocation was discovered in the function read_long_names in...","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","severity":{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01598,"percentile":0.75938,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-770"],"published":"2019-01-29T00:00:00Z","modified":"2026-10-24T10:30:54Z","fixes":[{"ecosystem":"Alpine:v3.12","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.13","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.14","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.15","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.16","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.17","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.18","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.19","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.20","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.21","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"elfutils","fixed_in":["0.176-r0"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"elfutils","fixed_in":["0.176-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"elfutils","fixed_in":["0.176-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"elfutils","fixed_in":["0.176-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.12","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.13","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.14","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.15","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.16","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.17","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.18","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.19","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.20","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.21","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"dwarves","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22-150300.7.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.177-150300.11.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.1","package":"dwarves","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22-150300.7.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.1","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.177-150300.11.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.2","package":"dwarves","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22-150300.7.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.2","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.177-150300.11.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"dwarves","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22-150300.7.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.177-150300.11.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"openSUSE:Leap Micro 5.2","package":"dwarves","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22-150300.7.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"openSUSE:Leap Micro 5.2","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.177-150300.11.3.1"}]}],"bundled":19},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.157-1ubuntu1","0.158-0ubuntu3","0.158-0ubuntu4","0.158-0ubuntu5","0.158-0ubuntu5.1","0.158-0ubuntu5.2","0.158-0ubuntu5.3","0.158-0ubuntu5.3+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.163-4ubuntu1","0.163-5.1","0.164-1","0.165-3","0.165-3ubuntu1","0.165-3ubuntu1.1","0.165-3ubuntu1.2","0.165-3ubuntu1.2+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.170-0.1","0.170-0.2","0.170-0.3","0.170-0.4","0.170-0.4ubuntu0.1","0.170-0.4ubuntu0.1+esm1"]}],"products":[{"vendor":"elfutils_project","product":"elfutils"}],"references":[{"url":"https://sourceware.org/bugzilla/show_bug.cgi?id=24085","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-7148"},{"url":"https://github.com/advisories/GHSA-67vc-2q9c-6854"},{"url":"https://security.alpinelinux.org/vuln/CVE-2019-7148","tags":["advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2019-7148","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2019-7148","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2022/suse-su-20222614-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1033084","tags":["report"]},{"url":"https://bugzilla.suse.com/1033085","tags":["report"]},{"url":"https://bugzilla.suse.com/1033086","tags":["report"]},{"url":"https://bugzilla.suse.com/1033087","tags":["report"]},{"url":"https://bugzilla.suse.com/1033088","tags":["report"]},{"url":"https://bugzilla.suse.com/1033089","tags":["report"]},{"url":"https://bugzilla.suse.com/1033090","tags":["report"]},{"url":"https://bugzilla.suse.com/1082318","tags":["report"]},{"url":"https://bugzilla.suse.com/1104264","tags":["report"]},{"url":"https://bugzilla.suse.com/1106390","tags":["report"]},{"url":"https://bugzilla.suse.com/1107066","tags":["report"]},{"url":"https://bugzilla.suse.com/1107067","tags":["report"]},{"url":"https://bugzilla.suse.com/1111973","tags":["report"]},{"url":"https://bugzilla.suse.com/1112723","tags":["report"]},{"url":"https://bugzilla.suse.com/1112726","tags":["report"]},{"url":"https://bugzilla.suse.com/1123685","tags":["report"]},{"url":"https://bugzilla.suse.com/1125007","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7607","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7608","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7609","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7610","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7611","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7612","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7613","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16062","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16402","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16403","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18310","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18520","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18521","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7146","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7148","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7149","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7150","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7664","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7665","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2022/suse-su-20222614-2/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2019-7148","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-7148","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:00:00Z","modified":"2024-08-04T20:38:33.482Z","updated_at":"2026-11-02T14:32:22.854093Z"}],"euvd":[{"id":"EUVD-2019-16698","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:00:00Z","modified":"2024-08-04T20:38:33Z","updated_at":"2026-11-03T03:06:46.960087Z"}],"ghsa":[{"id":"GHSA-67vc-2q9c-6854","title":"An attempted excessive memory allocation was discovered in the function read_long_names in...","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2022-05-13T01:22:47Z","modified":"2023-02-01T05:07:02Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:50:28.399252Z"}],"nvd":[{"id":"CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:29:00.347Z","modified":"2026-06-17T02:40:10.25Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:05:02.989216Z"}],"osv":[{"id":"ALPINE-CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:29:00.347Z","modified":"2026-09-21T06:17:52.53513985Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:27:48.11886Z"},{"id":"BELL-CVE-2019-7148","title":"CVE-2019-7148 does not affect BellSoft software","status":"withdrawn","published":"2023-08-31T12:14:19.81565Z","modified":"2026-01-26T09:46:37.874667Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:28:15.340685Z"},{"id":"CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:29:00.347Z","modified":"2026-10-24T10:30:54.504085272Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:12.675558Z"},{"id":"DEBIAN-CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:29:00.347Z","modified":"2026-09-21T07:03:21.553507847Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:32.57265Z"},{"id":"UBUNTU-CVE-2019-7148","description":"An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils 0.174. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception. NOTE: The maintainers believe this is not a real issue, but instead a \"warning caused by ASAN because the allocation is big. By setting ASAN_OPTIONS=allocator_may_return_null=1 and running the reproducer, nothing happens.\"","status":"published","published":"2019-01-29T00:29:00Z","modified":"2026-04-22T12:21:32.7518Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:21.741399Z"},{"id":"SUSE-SU-2022:2614-1","title":"Security update for dwarves and elfutils","description":"This update for dwarves and elfutils fixes the following issues:\n\nelfutils was updated to version 0.177 (jsc#SLE-24501):\n  \n- elfclassify: New tool to analyze ELF objects.\n- readelf: Print DW_AT_data_member_location as decimal offset.\n             Decode DW_AT_discr_list block attributes.\n- libdw: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and DW_AT_GNU_bias.\n- libdwelf: Add dwelf_elf_e_machine_string.\n            dwelf_elf_begin now only returns NULL when there is an error\n            reading or decompressing a file. If the file is not an ELF file\n            an ELF handle of type ELF_K_NONE is returned.\n- backends: Add support for C-SKY.\n  \nUpdate to version 0.176:\n\n- build: Add new --enable-install-elfh option.\n         Do NOT use this for system installs (it overrides glibc elf.h).\n- backends: riscv improved core file and return value location support.\n- Fixes:\n  - CVE-2019-7146, CVE-2019-7148, CVE-2019-7149, CVE-2019-7664 - CVE-2019-7150: dwfl_segment_report_module doesn't check whether the dyn data read from core file is truncated (bsc#1123685)\n  - CVE-2019-7665: NT_PLATFORM core file note should be a zero terminated string (CVE is a bit misleading, as this is not a bug in libelf as described) (bsc#1125007)\n  \nUpdate to version 0.175:\n  \n- readelf: Handle mutliple .debug_macro sections.\n           Recognize and parse GNU Property, NT_VERSION and\n           GNU Build Attribute ELF Notes.\n- strip: Handle SHT_GROUP correctly.\n         Add strip --reloc-debug-sections-only option.\n         Handle relocations against GNU compressed sections.\n- libdwelf: New function dwelf_elf_begin.\n- libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT\n            and BPF_JSLE.\n    backends: RISCV handles ADD/SUB relocations.\n              Handle SHT_X86_64_UNWIND.\n  - CVE-2018-18521: arlib: Divide-by-zero vulnerabilities in the function arlib_add_symbols() used by eu-ranlib (bsc#1112723)\n  - CVE-2018-18310: Invalid Address Read problem in dwfl_segment_report_module.c (bsc#1111973)\n  - CVE-2018-18520: eu-size: Bad handling of ar files inside are files (bsc#1112726)\n  \nUpdate to version 0.174:\n  \n- libelf, libdw and all tools now handle extended shnum and\n  shstrndx correctly.\n  \n- elfcompress: Don't rewrite input file if no section data needs\n               updating. Try harder to keep same file mode bits\n               (suid) on rewrite.\n- strip: Handle mixed (out of order) allocated/non-allocated sections.\n- unstrip: Handle SHT_GROUP sections.\n- backends: RISCV and M68K now have backend implementations to\n            generate CFI based backtraces.\n- Fixes:\n  - CVE-2018-16402: libelf: denial of service/double free on an attempt to decompress the same section twice (bsc#1107066) Double-free crash in nm and readelf\n  - CVE-2018-16403: heap buffer overflow in readelf (bsc#1107067)\n  - CVE-2018-16062: heap-buffer-overflow in /elfutils/libdw/dwarf_getaranges.c:156 (bsc#1106390)\n    \nUpdate to version 0.173:\n  \n- More fixes for crashes and hangs found by afl-fuzz. In particular various\n  functions now detect and break infinite loops caused by bad DIE tree cycles.\n- readelf: Will now lookup the size and signedness of constant value types\n           to display them correctly (and not just how they were encoded).\n- libdw: New function dwarf_next_lines to read CU-less .debug_line data.\n         dwarf_begin_elf now accepts ELF files containing just .debug_line\n         or .debug_frame sections (which can be read without needing a DIE\n         tree from the .debug_info section).\n         Removed dwarf_getscn_info, which was never implemented.\n- backends: Handle BPF simple relocations.\n            The RISCV backends now handles ABI specific CFI and knows about\n            RISCV register types and names.\n  \nUpdate to version 0.172:\n  \n- Various bug fixes in libdw and eu-readelf dealing with bad DWARF5 data.\n  Thanks to running the afl fuzzer on eu-readelf and various testcases.\n  \nUpdate to version 0.171:\n  \n- DWARF5 and split dwarf, including GNU DebugFission, are supported now.\n  Data can be read from the new DWARF sections .debug_addr, .debug_line_str,\n  .debug_loclists, .debug_str_offsets and .debug_rnglists.  Plus the new\n  DWARF5 and GNU DebugFission encodings of the existing .debug sections.\n  Also in split DWARF .dwo (DWARF object) files.  This support is mostly\n  handled by existing functions (dwarf_getlocation*, dwarf_getsrclines,\n  dwarf_ranges, dwarf_form*, etc.) now returning the data from the new\n  sections and data formats.  But some new functions have been added\n  to more easily get information about skeleton and split compile units\n  (dwarf_get_units and dwarf_cu_info), handle new attribute data\n  (dwarf_getabbrevattr_data) and to keep references to Dwarf_Dies\n  that might come from different sections or files (dwarf_die_addr_die).\n- Not yet supported are .dwp (Dwarf Package) and .sup (Dwarf Supplementary)\n  files, the .debug_names index, the .debug_cu_index and .debug_tu_index\n  sections. Only a single .debug_info (and .debug_types) section are\n  currently handled.\n- readelf: Handle all new DWARF5 sections.\n           --debug-dump=info+ will show split unit DIEs when found.\n           --dwarf-skeleton can be used when inspecting a .dwo file.\n     Recognizes GNU locviews with --debug-dump=loc.\n- libdw: New functions dwarf_die_addr_die, dwarf_get_units,\n         dwarf_getabbrevattr_data and dwarf_cu_info.\n         libdw will now try to resolve the alt file on first use of\n         an alt attribute FORM when not set yet with dwarf_set_alt.\n         dwarf_aggregate_size() now works with multi-dimensional arrays.\n- libdwfl: Use process_vm_readv when available instead of ptrace.\n  backends: Add a RISC-V backend.\n  \n  There were various improvements to build on Windows.\n  The sha1 and md5 implementations have been removed, they weren't used.\n\nUpdate to version 0.170:\n\n- libdw: Added new DWARF5 attribute, tag, character encoding, language code,\n         calling convention, defaulted member function and macro constants\n         to dwarf.h.\n\t New functions dwarf_default_lower_bound and dwarf_line_file.\n  \t dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.\n  \t dwarf_getmacros now handles DWARF5 .debug_macro sections.\n- strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.\n- backends: The bpf disassembler is now always build on all platforms.\n\nUpdate to version 0.169:\n\n- backends: Add support for EM_PPC64 GNU_ATTRIBUTES.\n            Frame pointer unwinding fallback support for i386, x86_64, aarch64.\n- translations: Update Polish translation.\n  - CVE-2017-7611: elfutils: DoS (heap-based buffer over-read and application crash) via a crafted ELF file (bsc#1033088)\n  - CVE-2017-7610: elflint: heap-based buffer overflow in check_group (bsc#1033087)\n  - CVE-2017-7609: memory allocation failure in __libelf_decompress (bsc#1033086)\n  - CVE-2017-7607: heap-based buffer overflow in handle_gnu_hashi (readelf.c) (bsc#1033084)\n  - CVE-2017-7608: heap-based buffer overflow in ebl_object_note_type_name (eblobjnotetypename.c) (bsc#1033085)\n  - CVE-2017-7613: elfutils: denial of service (memory consumption) via a crafted ELF file (bsc#1033090)\n  - CVE-2017-7612: elfutils: denial of service (heap-based buffer over-read and application crash) via a crafted ELF file (bsc#1033089)\n- Don't make elfutils recommend elfutils-lang as elfutils-lang\n  already supplements elfutils.\n\ndwarves is shipped new in version 1.22 to provide tooling for use by the Linux Kernel BTF verification framework.\n","status":"published","published":"2022-08-01T08:41:24Z","modified":"2026-02-04T04:33:17.311296Z","updated_at":"2026-11-02T15:53:50.965375Z"},{"id":"SUSE-SU-2022:2614-2","title":"Security update for dwarves and elfutils","description":"This update for dwarves and elfutils fixes the following issues:\n\nelfutils was updated to version 0.177 (jsc#SLE-24501):\n  \n- elfclassify: New tool to analyze ELF objects.\n- readelf: Print DW_AT_data_member_location as decimal offset.\n             Decode DW_AT_discr_list block attributes.\n- libdw: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and DW_AT_GNU_bias.\n- libdwelf: Add dwelf_elf_e_machine_string.\n            dwelf_elf_begin now only returns NULL when there is an error\n            reading or decompressing a file. If the file is not an ELF file\n            an ELF handle of type ELF_K_NONE is returned.\n- backends: Add support for C-SKY.\n  \nUpdate to version 0.176:\n\n- build: Add new --enable-install-elfh option.\n         Do NOT use this for system installs (it overrides glibc elf.h).\n- backends: riscv improved core file and return value location support.\n- Fixes:\n  - CVE-2019-7146, CVE-2019-7148, CVE-2019-7149, CVE-2019-7664 - CVE-2019-7150: dwfl_segment_report_module doesn't check whether the dyn data read from core file is truncated (bsc#1123685)\n  - CVE-2019-7665: NT_PLATFORM core file note should be a zero terminated string (CVE is a bit misleading, as this is not a bug in libelf as described) (bsc#1125007)\n  \nUpdate to version 0.175:\n  \n- readelf: Handle mutliple .debug_macro sections.\n           Recognize and parse GNU Property, NT_VERSION and\n           GNU Build Attribute ELF Notes.\n- strip: Handle SHT_GROUP correctly.\n         Add strip --reloc-debug-sections-only option.\n         Handle relocations against GNU compressed sections.\n- libdwelf: New function dwelf_elf_begin.\n- libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT\n            and BPF_JSLE.\n    backends: RISCV handles ADD/SUB relocations.\n              Handle SHT_X86_64_UNWIND.\n  - CVE-2018-18521: arlib: Divide-by-zero vulnerabilities in the function arlib_add_symbols() used by eu-ranlib (bsc#1112723)\n  - CVE-2018-18310: Invalid Address Read problem in dwfl_segment_report_module.c (bsc#1111973)\n  - CVE-2018-18520: eu-size: Bad handling of ar files inside are files (bsc#1112726)\n  \nUpdate to version 0.174:\n  \n- libelf, libdw and all tools now handle extended shnum and\n  shstrndx correctly.\n  \n- elfcompress: Don't rewrite input file if no section data needs\n               updating. Try harder to keep same file mode bits\n               (suid) on rewrite.\n- strip: Handle mixed (out of order) allocated/non-allocated sections.\n- unstrip: Handle SHT_GROUP sections.\n- backends: RISCV and M68K now have backend implementations to\n            generate CFI based backtraces.\n- Fixes:\n  - CVE-2018-16402: libelf: denial of service/double free on an attempt to decompress the same section twice (bsc#1107066) Double-free crash in nm and readelf\n  - CVE-2018-16403: heap buffer overflow in readelf (bsc#1107067)\n  - CVE-2018-16062: heap-buffer-overflow in /elfutils/libdw/dwarf_getaranges.c:156 (bsc#1106390)\n    \nUpdate to version 0.173:\n  \n- More fixes for crashes and hangs found by afl-fuzz. In particular various\n  functions now detect and break infinite loops caused by bad DIE tree cycles.\n- readelf: Will now lookup the size and signedness of constant value types\n           to display them correctly (and not just how they were encoded).\n- libdw: New function dwarf_next_lines to read CU-less .debug_line data.\n         dwarf_begin_elf now accepts ELF files containing just .debug_line\n         or .debug_frame sections (which can be read without needing a DIE\n         tree from the .debug_info section).\n         Removed dwarf_getscn_info, which was never implemented.\n- backends: Handle BPF simple relocations.\n            The RISCV backends now handles ABI specific CFI and knows about\n            RISCV register types and names.\n  \nUpdate to version 0.172:\n  \n- Various bug fixes in libdw and eu-readelf dealing with bad DWARF5 data.\n  Thanks to running the afl fuzzer on eu-readelf and various testcases.\n  \nUpdate to version 0.171:\n  \n- DWARF5 and split dwarf, including GNU DebugFission, are supported now.\n  Data can be read from the new DWARF sections .debug_addr, .debug_line_str,\n  .debug_loclists, .debug_str_offsets and .debug_rnglists.  Plus the new\n  DWARF5 and GNU DebugFission encodings of the existing .debug sections.\n  Also in split DWARF .dwo (DWARF object) files.  This support is mostly\n  handled by existing functions (dwarf_getlocation*, dwarf_getsrclines,\n  dwarf_ranges, dwarf_form*, etc.) now returning the data from the new\n  sections and data formats.  But some new functions have been added\n  to more easily get information about skeleton and split compile units\n  (dwarf_get_units and dwarf_cu_info), handle new attribute data\n  (dwarf_getabbrevattr_data) and to keep references to Dwarf_Dies\n  that might come from different sections or files (dwarf_die_addr_die).\n- Not yet supported are .dwp (Dwarf Package) and .sup (Dwarf Supplementary)\n  files, the .debug_names index, the .debug_cu_index and .debug_tu_index\n  sections. Only a single .debug_info (and .debug_types) section are\n  currently handled.\n- readelf: Handle all new DWARF5 sections.\n           --debug-dump=info+ will show split unit DIEs when found.\n           --dwarf-skeleton can be used when inspecting a .dwo file.\n     Recognizes GNU locviews with --debug-dump=loc.\n- libdw: New functions dwarf_die_addr_die, dwarf_get_units,\n         dwarf_getabbrevattr_data and dwarf_cu_info.\n         libdw will now try to resolve the alt file on first use of\n         an alt attribute FORM when not set yet with dwarf_set_alt.\n         dwarf_aggregate_size() now works with multi-dimensional arrays.\n- libdwfl: Use process_vm_readv when available instead of ptrace.\n  backends: Add a RISC-V backend.\n  \n  There were various improvements to build on Windows.\n  The sha1 and md5 implementations have been removed, they weren't used.\n\nUpdate to version 0.170:\n\n- libdw: Added new DWARF5 attribute, tag, character encoding, language code,\n         calling convention, defaulted member function and macro constants\n         to dwarf.h.\n\t New functions dwarf_default_lower_bound and dwarf_line_file.\n  \t dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.\n  \t dwarf_getmacros now handles DWARF5 .debug_macro sections.\n- strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.\n- backends: The bpf disassembler is now always build on all platforms.\n\nUpdate to version 0.169:\n\n- backends: Add support for EM_PPC64 GNU_ATTRIBUTES.\n            Frame pointer unwinding fallback support for i386, x86_64, aarch64.\n- translations: Update Polish translation.\n  - CVE-2017-7611: elfutils: DoS (heap-based buffer over-read and application crash) via a crafted ELF file (bsc#1033088)\n  - CVE-2017-7610: elflint: heap-based buffer overflow in check_group (bsc#1033087)\n  - CVE-2017-7609: memory allocation failure in __libelf_decompress (bsc#1033086)\n  - CVE-2017-7607: heap-based buffer overflow in handle_gnu_hashi (readelf.c) (bsc#1033084)\n  - CVE-2017-7608: heap-based buffer overflow in ebl_object_note_type_name (eblobjnotetypename.c) (bsc#1033085)\n  - CVE-2017-7613: elfutils: denial of service (memory consumption) via a crafted ELF file (bsc#1033090)\n  - CVE-2017-7612: elfutils: denial of service (heap-based buffer over-read and application crash) via a crafted ELF file (bsc#1033089)\n- Don't make elfutils recommend elfutils-lang as elfutils-lang\n  already supplements elfutils.\n\ndwarves is shipped new in version 1.22 to provide tooling for use by the Linux Kernel BTF verification framework.\n","status":"published","published":"2022-08-01T08:41:26Z","modified":"2026-02-04T02:26:41.217547Z","updated_at":"2026-11-02T15:53:50.965375Z"}]}}
