{"id":"CVE-2017-7607","aliases":["ALPINE-CVE-2017-7607","BELL-CVE-2017-7607","DEBIAN-CVE-2017-7607","EUVD-2017-16612","GHSA-78hq-848f-rjwp","MGASA-2018-0027","MGASA-2019-0222","SUSE-SU-2019:1486-1","SUSE-SU-2019:1733-1","SUSE-SU-2022:2614-1","SUSE-SU-2022:2614-2","UBUNTU-CVE-2017-7607","USN-3670-1","openSUSE-SU-2019:1590-1"],"status":"published","title":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a...","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","severity":{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01695,"percentile":0.77288,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2017-04-09T00:00:00Z","modified":"2026-10-24T10:31:00Z","fixes":[{"ecosystem":"Alpine:v3.10","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.11","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.12","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.13","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.14","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.15","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.16","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.17","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.18","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.19","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.20","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.21","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.6","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.7","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.8","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.9","package":"elfutils","fixed_in":["0.168-r1"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"elfutils","fixed_in":["0.168-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"elfutils","fixed_in":["0.168-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"elfutils","fixed_in":["0.168-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"elfutils","fixed_in":["0.158-0ubuntu5.3"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"elfutils","fixed_in":["0.165-3ubuntu1.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"elfutils","fixed_in":["0.170-0.4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.10","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.11","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.12","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.13","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.14","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.15","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.16","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.17","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.18","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.19","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.20","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.21","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.6","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.7","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.8","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.9","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-r1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-1"}]}]},{"source":"osv","ecosystem":"Mageia:5","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.169-1.mga5"}]}],"bundled":9},{"source":"osv","ecosystem":"Mageia:6","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.176-1.mga6"}]}],"bundled":17},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-4.5.3"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP1","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-4.5.3"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP4","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP3","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-7.7.2"}]}],"bundled":15},{"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:14.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-0ubuntu5.3"}]}],"versions":["0.157-1ubuntu1","0.158-0ubuntu3","0.158-0ubuntu4","0.158-0ubuntu5","0.158-0ubuntu5.1","0.158-0ubuntu5.2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.165-3ubuntu1.1"}]}],"versions":["0.163-4ubuntu1","0.163-5.1","0.164-1","0.165-3","0.165-3ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.170-0.4"}]}],"versions":["0.170-0.1","0.170-0.2","0.170-0.3"]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.158-0ubuntu5.3"}]}],"versions":["0.157-1ubuntu1","0.158-0ubuntu3","0.158-0ubuntu4","0.158-0ubuntu5","0.158-0ubuntu5.1","0.158-0ubuntu5.2"],"bundled":9},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.165-3ubuntu1.1"}]}],"versions":["0.163-4ubuntu1","0.163-5.1","0.164-1","0.165-3","0.165-3ubuntu1"],"bundled":9},{"source":"osv","ecosystem":"openSUSE:Leap 15.0","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-lp151.4.3.1"}]}],"bundled":15},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"elfutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.168-lp151.4.3.1"}]}],"bundled":15}],"products":[{"vendor":"elfutils_project","product":"elfutils"}],"references":[{"url":"https://usn.ubuntu.com/3670-1/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","web"]},{"url":"https://blogs.gentoo.org/ago/2017/04/03/elfutils-heap-based-buffer-overflow-in-handle_gnu_hash-readelf-c","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix"]},{"url":"https://security.gentoo.org/glsa/201710-10","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","advisory"]},{"url":"http://www.securityfocus.com/bid/98608","tags":["vdb-entry","x_refsource_BID","x_transferred","web"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00052.html","tags":["vendor-advisory","x_refsource_SUSE","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-7607"},{"url":"https://usn.ubuntu.com/3670-1"},{"url":"https://github.com/advisories/GHSA-78hq-848f-rjwp"},{"url":"https://security.alpinelinux.org/vuln/CVE-2017-7607","tags":["advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2017-7607","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2017-7607","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2018-0027.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=20557","tags":["report"]},{"url":"http://openwall.com/lists/oss-security/2017/03/22/2","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/03/22/1","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/8","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/9","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/11","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/12","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/13","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/14","tags":["web"]},{"url":"http://openwall.com/lists/oss-security/2017/04/10/15","tags":["web"]},{"url":"https://advisories.mageia.org/MGASA-2019-0222.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=23160","tags":["report"]},{"url":"https://usn.ubuntu.com/4012-1/","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/Z6QQTO2CLXUBNNOX4DEZ5XXWJYV3SYVN/","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20191486-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/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-7150","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-7665","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20191733-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1030472","tags":["report"]},{"url":"https://bugzilla.suse.com/1030476","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2016-10254","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-10255","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2022/suse-su-20222614-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1082318","tags":["report"]},{"url":"https://bugzilla.suse.com/1104264","tags":["report"]},{"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-7664","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2022/suse-su-20222614-2/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-7607","tags":["report"]},{"url":"https://blogs.gentoo.org/ago/2017/04/03/elfutils-heap-based-buffer-overflow-in-handle_gnu_hash-readelf-c/","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3670-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2017-7607","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-10254","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-10255","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7608","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7609","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7610","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7611","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7612","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-7613","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/Z5JKL6B32NFBYAZ26H2YW75ZH2O62BBE/#Z5JKL6B32NFBYAZ26H2YW75ZH2O62BBE","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:00:00Z","modified":"2024-08-05T16:04:12.046Z","updated_at":"2026-11-02T14:33:20.488433Z"}],"euvd":[{"id":"EUVD-2017-16612","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:00:00Z","modified":"2024-08-05T16:04:12Z","updated_at":"2026-11-03T02:39:08.024596Z"}],"ghsa":[{"id":"GHSA-78hq-848f-rjwp","title":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a...","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2022-05-13T01:47:02Z","modified":"2025-04-20T03:36:39Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:01:44.058341Z"}],"nvd":[{"id":"CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:59:00.667Z","modified":"2026-06-17T01:24:45.553Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/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-125"],"updated_at":"2026-11-02T14:03:44.86906Z"}],"osv":[{"id":"ALPINE-CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:59:00.667Z","modified":"2026-06-15T18:18:07.19326773Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:27:47.187336Z"},{"id":"BELL-CVE-2017-7607","title":"CVE-2017-7607 does not affect BellSoft software","status":"withdrawn","published":"2023-08-31T12:16:29.332311Z","modified":"2026-01-26T09:46:48.577379Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:28:14.137943Z"},{"id":"CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:59:00.667Z","modified":"2026-10-24T10:31:00.045470451Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:06.412595Z"},{"id":"DEBIAN-CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T14:59:00.667Z","modified":"2026-09-01T20:03:50.263397658Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:29.698576Z"},{"id":"UBUNTU-CVE-2017-7607","description":"The handle_gnu_hash function in readelf.c in elfutils 0.168 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted ELF file.","status":"published","published":"2017-04-09T00:00:00Z","modified":"2026-04-22T11:31:29.877787Z","cvss":[{"version":"3.0","score":5.5,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:15.773974Z"},{"id":"MGASA-2018-0027","title":"Updated elfutils packages fix security vulnerabilities","description":"The elfutils package has been updated to version 0.169 to fix several bugs\nthat can lead to memory allocation failures or heap overflows\n(CVE-2016-10254, CVE-2016-10255, CVE-2017-7607, CVE-2017-7608,\nCVE-2017-7609, CVE-2017-7610, CVE-2017-7611, CVE-2017-7612,\nCVE-2017-7613).\n","status":"published","published":"2018-01-03T10:32:10Z","modified":"2026-04-16T06:26:00.968533515Z","updated_at":"2026-11-02T15:49:40.442238Z"},{"id":"MGASA-2019-0222","title":"Updated elfutils packages fix security vulnerabilities","description":"It was discovered that elfutils incorrectly handled certain malformed\nfiles. If a user or automated system were tricked into processing a\nspecially crafted file, elfutils could be made to crash or consume\nresources, resulting in a denial of service (CVE-2017-7607, CVE-2017-7608,\nCVE-2017-7609, CVE-2017-7610, CVE-2017-7611, CVE-2017-7612, CVE-2017-7613,\nCVE-2018-16062, CVE-2018-16402, CVE-2018-16403, CVE-2018-18310,\nCVE-2018-18520, CVE-2018-18521, CVE-2019-7149, CVE-2019-7150,\nCVE-2019-7665).\n\nIn elfutils 0.175, a negative-sized memcpy is attempted in elf_cvt_note\nin libelf/note_xlate.h because of an incorrect overflow check. Crafted elf\ninput causes a segmentation fault, leading to denial of service (program\ncrash) (CVE-2019-7664).\n","status":"published","published":"2019-08-18T12:39:41Z","modified":"2026-04-16T04:43:55.834749981Z","updated_at":"2026-11-02T15:49:40.793816Z"},{"id":"openSUSE-SU-2019:1590-1","title":"Security update for elfutils","description":"This update for elfutils fixes the following issues:\n\nSecurity issues fixed:  \n\n- CVE-2017-7607: Fixed a heap-based buffer overflow in handle_gnu_hash (bsc#1033084)\n- CVE-2017-7608: Fixed a heap-based buffer overflow in ebl_object_note_type_name() (bsc#1033085)\n- CVE-2017-7609: Fixed a memory allocation failure in __libelf_decompress (bsc#1033086)\n- CVE-2017-7610: Fixed a heap-based buffer overflow in check_group (bsc#1033087)\n- CVE-2017-7611: Fixed a denial of service via a crafted ELF file (bsc#1033088)\n- CVE-2017-7612: Fixed a denial of service in check_sysv_hash() via a crafted ELF file (bsc#1033089)\n- CVE-2017-7613: Fixed denial of service caused by the missing validation of the number of sections and the number of segments in a crafted ELF file (bsc#1033090)\n- CVE-2018-16062: Fixed a heap-buffer overflow in /elfutils/libdw/dwarf_getaranges.c:156 (bsc#1106390)\n- CVE-2018-16402: Fixed a denial of service/double free on an attempt to decompress the same section twice (bsc#1107066)\n- CVE-2018-16403: Fixed a heap buffer overflow in readelf (bsc#1107067)\n- CVE-2018-18310: Fixed an invalid address read problem in dwfl_segment_report_module.c (bsc#1111973)\n- CVE-2018-18520: Fixed bad handling of ar files inside are files (bsc#1112726)\n- CVE-2018-18521: Fixed a denial of service vulnerabilities in the function arlib_add_symbols() used by eu-ranlib (bsc#1112723)\n- 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 (bsc#1125007)\n\nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2019-06-19T20:18:43Z","modified":"2026-02-04T04:21:21.111549Z","updated_at":"2026-11-02T16:58:30.784344Z"},{"id":"SUSE-SU-2019:1486-1","title":"Security update for elfutils","description":"This update for elfutils fixes the following issues:\n\nSecurity issues fixed:  \n\n- CVE-2017-7607: Fixed a heap-based buffer overflow in handle_gnu_hash (bsc#1033084)\n- CVE-2017-7608: Fixed a heap-based buffer overflow in ebl_object_note_type_name() (bsc#1033085)\n- CVE-2017-7609: Fixed a memory allocation failure in __libelf_decompress (bsc#1033086)\n- CVE-2017-7610: Fixed a heap-based buffer overflow in check_group (bsc#1033087)\n- CVE-2017-7611: Fixed a denial of service via a crafted ELF file (bsc#1033088)\n- CVE-2017-7612: Fixed a denial of service in check_sysv_hash() via a crafted ELF file (bsc#1033089)\n- CVE-2017-7613: Fixed denial of service caused by the missing validation of the number of sections and the number of segments in a crafted ELF file (bsc#1033090)\n- CVE-2018-16062: Fixed a heap-buffer overflow in /elfutils/libdw/dwarf_getaranges.c:156 (bsc#1106390)\n- CVE-2018-16402: Fixed a denial of service/double free on an attempt to decompress the same section twice (bsc#1107066)\n- CVE-2018-16403: Fixed a heap buffer overflow in readelf (bsc#1107067)\n- CVE-2018-18310: Fixed an invalid address read problem in dwfl_segment_report_module.c (bsc#1111973)\n- CVE-2018-18520: Fixed bad handling of ar files inside are files (bsc#1112726)\n- CVE-2018-18521: Fixed a denial of service vulnerabilities in the function arlib_add_symbols() used by eu-ranlib (bsc#1112723)\n- 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 (bsc#1125007)\n","status":"published","published":"2019-06-13T07:40:27Z","modified":"2026-02-04T02:19:04.32402Z","updated_at":"2026-11-02T15:53:46.44301Z"},{"id":"SUSE-SU-2019:1733-1","title":"Security update for elfutils","description":"This update for elfutils fixes the following issues:\n\nSecurity issues fixed: \t  \n\n- CVE-2018-16403: Fixed a heap-based buffer over-read that could have led to Denial of Service (bsc#1107067).  \n- CVE-2016-10254: Fixed a memory allocation failure in alloxate_elf (bsc#1030472).\n- CVE-2019-7665: NT_PLATFORM core file note should be a zero terminated string (bsc#1125007).\n- CVE-2016-10255: Fixed a memory allocation failure in libelf_set_rawdata_wrlock (bsc#1030476).\n- CVE-2019-7150: Added a missing check in dwfl_segment_report_module which could have allowed truncated files \n  to be read (bsc#1123685).\n- CVE-2018-16062: Fixed a heap-buffer-overflow (bsc#1106390).\n- CVE-2017-7611: Fixed a heap-based buffer over-read that could have led to Denial of Service (bsc#1033088).\n- CVE-2017-7613: Fixed denial of service caused by the missing validation of the number of sections \n  and the number of segments in a crafted ELF file (bsc#1033090).\n- CVE-2017-7607: Fixed a heap-based buffer overflow in handle_gnu_hash (bsc#1033084).\n- CVE-2017-7608: Fixed a heap-based buffer overflow in ebl_object_note_type_name() (bsc#1033085).\n- CVE-2017-7610: Fixed a heap-based buffer overflow in check_group (bsc#1033087).\n- CVE-2018-18521: Fixed multiple divide-by-zero vulnerabilities in function arlib_add_symbols() (bsc#1112723).\n- CVE-2017-7612: Fixed a denial of service in check_sysv_hash() via a crafted ELF file (bsc#1033089).\n- CVE-2018-18310: Fixed an invalid address read in dwfl_segment_report_module.c (bsc#1111973).\n- CVE-2018-18520: Fixed bad handling of ar files inside are files (bsc#1112726).\n","status":"published","published":"2019-07-03T11:54:57Z","modified":"2026-02-04T04:19:20.749976Z","updated_at":"2026-11-02T15:53:46.44301Z"},{"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"},{"id":"USN-3670-1","title":"elfutils vulnerabilities","description":"Agostino Sarubbo discovered that elfutils incorrectly handled certain\nmalformed ELF files. If a user or automated system were tricked into\nprocessing a specially crafted ELF file, elfutils could be made to crash or\nconsume resources, resulting in a denial of service.\n","status":"published","published":"2018-06-05T14:13:40Z","modified":"2026-04-22T09:46:27.800439Z","updated_at":"2026-11-02T16:58:13.496563Z"}]}}
