{"id":"CVE-2021-20197","aliases":["ALSA-2021:4364","AZL-41714","CLSA-2022-1645466518","DEBIAN-CVE-2021-20197","EUVD-2021-7643","GHSA-rq67-5wpf-96wv","MGASA-2021-0341","OESA-2021-1153","RHSA-2021:4364","RLSA-2021:4364","SUSE-SU-2021:3593-1","SUSE-SU-2021:3616-1","SUSE-SU-2022:0934-1","UBUNTU-CVE-2021-20197","openSUSE-SU-2021:1475-1","openSUSE-SU-2021:3616-1","openSUSE-SU-2024:10651-1"],"status":"published","title":"There is an open race window when writing output in the following utilities in GNU binutils...","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","severity":{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.00304,"percentile":0.23404,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-362","CWE-59"],"published":"2021-03-26T16:47:20Z","modified":"2026-10-29T11:01:28Z","fixes":[{"ecosystem":"Azure Linux:3","package":"crash","fixed_in":["8.0.4-4"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"binutils","fixed_in":["2.37-3"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"binutils","fixed_in":["2.37-3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"binutils","fixed_in":["2.37-3"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"binutils","fixed_in":["2.34-9.oe1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"AlmaLinux:8","package":"binutils-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Azure Linux:3","package":"crash","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.4-4"}]}]},{"source":"osv","ecosystem":"TuxCare:CentOS:8.4","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.30-93.el8.4.tuxcare.els1"}]}],"bundled":5},{"source":"osv","ecosystem":"TuxCare:CentOS:8.4","package":"binutils-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.30-93.el8.4.tuxcare.els1"}]}],"bundled":5},{"source":"osv","ecosystem":"Debian:12","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-3"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-3"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-3"}]}]},{"source":"osv","ecosystem":"Mageia:8","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.36.1-1.1.mga8"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.34-9.oe1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"binutils-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"binutils-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"binutils-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"binutils-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"binutils-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"Rocky Linux:8","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.30-108.el8"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:HPE Helion OpenStack 8","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud 8","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud 9","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud Crowbar 8","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud Crowbar 9","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP5","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP5","package":"cross-ppc-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP5","package":"cross-spu-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP2-BCL","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP3-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP3-BCL","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP5","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP5","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-9.39.1"}]}],"bundled":21},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP2","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP2","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP3","package":"bpftrace","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.11.4-3.2.1"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Package Hub 15 SP2","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Package Hub 15 SP3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP1-BCL","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP1-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP1","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 6","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15-ESPOS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-6.23.1"}]}],"bundled":14},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-6.23.1"}]}],"bundled":14},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15-LTSS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-6.23.1"}]}],"bundled":14},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-6.23.1"}]}],"bundled":14},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.23.52.20130913-0ubuntu1","2.23.90.20131017-1ubuntu1","2.23.90.20131116-1ubuntu1","2.23.91.20131123-1ubuntu1","2.24-1ubuntu1","2.24-1ubuntu2","2.24-2ubuntu1","2.24-2ubuntu2","2.24-2ubuntu3","2.24-4ubuntu1","2.24-5ubuntu1","2.24-5ubuntu2","2.24-5ubuntu3","2.24-5ubuntu3.1","2.24-5ubuntu13","2.24-5ubuntu14","2.24-5ubuntu14.1","2.24-5ubuntu14.2","2.24-5ubuntu14.2+esm1","2.24-5ubuntu14.2+esm2","2.24-5ubuntu14.2+esm3","2.24-5ubuntu14.2+esm5","2.24-5ubuntu14.2+esm6","2.24-5ubuntu14.2+esm7","2.24-5ubuntu14.2+esm8"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.25.1-6ubuntu1","2.25.51.20151022-0ubuntu2","2.25.51.20151022-0ubuntu3","2.25.51.20151027-0ubuntu1","2.25.51.20151028-0ubuntu1","2.25.51.20151106-0ubuntu1","2.25.51.20151113-1ubuntu1","2.25.51.20151113-2ubuntu1","2.25.90.20151125-1ubuntu1","2.25.90.20151125-2ubuntu1","2.25.90.20151211-0ubuntu1","2.25.90.20151211-0ubuntu2","2.25.90.20160101-1ubuntu1","2.25.90.20160101-1ubuntu2","2.26-2ubuntu1","2.26-3ubuntu1","2.26-4ubuntu1","2.26-5ubuntu1","2.26-6ubuntu1","2.26-7ubuntu2","2.26-8ubuntu1","2.26-8ubuntu2","2.26-8ubuntu2.1","2.26.1-1ubuntu1~16.04","2.26.1-1ubuntu1~16.04.1","2.26.1-1ubuntu1~16.04.3","2.26.1-1ubuntu1~16.04.4","2.26.1-1ubuntu1~16.04.5","2.26.1-1ubuntu1~16.04.6","2.26.1-1ubuntu1~16.04.7","2.26.1-1ubuntu1~16.04.8","2.26.1-1ubuntu1~16.04.8+esm1","2.26.1-1ubuntu1~16.04.8+esm3","2.26.1-1ubuntu1~16.04.8+esm4","2.26.1-1ubuntu1~16.04.8+esm5","2.26.1-1ubuntu1~16.04.8+esm6","2.26.1-1ubuntu1~16.04.8+esm7","2.26.1-1ubuntu1~16.04.8+esm9","2.26.1-1ubuntu1~16.04.8+esm11","2.26.1-1ubuntu1~16.04.8+esm12","2.26.1-1ubuntu1~16.04.8+esm13","2.26.1-1ubuntu1~16.04.8+esm14"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.29.1-4ubuntu1","2.29.1-6ubuntu1","2.29.1-7ubuntu1","2.29.1-8ubuntu1","2.29.1-10ubuntu1","2.29.1-12ubuntu1","2.30-4ubuntu1","2.30-5ubuntu1","2.30-7ubuntu1","2.30-8ubuntu1","2.30-9ubuntu1","2.30-10ubuntu1","2.30-11ubuntu1","2.30-14ubuntu2","2.30-15ubuntu1","2.30-20ubuntu2~18.04","2.30-21ubuntu1~18.04","2.30-21ubuntu1~18.04.1","2.30-21ubuntu1~18.04.2","2.30-21ubuntu1~18.04.3","2.30-21ubuntu1~18.04.4","2.30-21ubuntu1~18.04.5","2.30-21ubuntu1~18.04.7","2.30-21ubuntu1~18.04.8","2.30-21ubuntu1~18.04.9","2.30-21ubuntu1~18.04.9+esm1","2.30-21ubuntu1~18.04.9+esm3","2.30-21ubuntu1~18.04.9+esm4","2.30-21ubuntu1~18.04.9+esm5","2.30-21ubuntu1~18.04.9+esm13"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.33-2ubuntu1","2.33.1-1ubuntu1","2.33.1-5ubuntu1","2.33.1-6ubuntu1","2.33.1-6ubuntu3","2.33.90.20200122-1ubuntu2","2.34-1ubuntu1","2.34-3ubuntu1","2.34-4ubuntu1","2.34-5ubuntu1","2.34-6ubuntu1","2.34-6ubuntu1.1","2.34-6ubuntu1.3","2.34-6ubuntu1.4","2.34-6ubuntu1.5","2.34-6ubuntu1.6","2.34-6ubuntu1.7","2.34-6ubuntu1.8","2.34-6ubuntu1.9","2.34-6ubuntu1.10","2.34-6ubuntu1.11","2.34-6ubuntu1.11+esm1","2.34-6ubuntu1.11+esm2"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"bpftrace","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.11.4-lp152.2.7.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-aarch64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-arm-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-avr-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-epiphany-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-hppa-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-hppa64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-i386-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-ia64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-m68k-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-mips-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-ppc-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-ppc64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-ppc64le-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-riscv64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-rx-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-s390-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-s390x-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-sparc-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-sparc64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-spu-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"cross-xtensa-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-lp152.4.9.1"}]}],"bundled":14},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.2"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"bpftrace","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.11.4-3.2.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-aarch64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-arm-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-avr-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-epiphany-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-hppa-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-hppa64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-i386-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-ia64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-m68k-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-mips-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-ppc-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-ppc64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-ppc64le-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-riscv64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-rx-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-s390-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-s390x-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-sparc-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-sparc64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-spu-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"cross-x86_64-binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-7.21.1"}]}],"bundled":13},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.37-1.3"}]}],"bundled":106}],"products":[{"vendor":"broadcom","product":"brocade_fabric_operating_system_firmware"},{"vendor":"gnu","product":"binutils"},{"vendor":"netapp","product":"cloud_backup"},{"vendor":"netapp","product":"ontap_select_deploy_administration_utility"},{"vendor":"netapp","product":"solidfire_\\\u0026_hci_management_node"},{"vendor":"redhat","product":"enterprise_linux"}],"references":[{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1913743","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix","report"]},{"url":"https://sourceware.org/bugzilla/show_bug.cgi?id=26945","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix"]},{"url":"https://security.netapp.com/advisory/ntap-20210528-0009/","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory"]},{"url":"https://security.gentoo.org/glsa/202208-30","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-20197","tags":["web","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2021:4364","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-20197","tags":["report"]},{"url":"https://security.netapp.com/advisory/ntap-20210528-0009"},{"url":"https://github.com/advisories/GHSA-rq67-5wpf-96wv"},{"url":"https://vulners.com/cve/CVE-2020-35448","tags":["report"]},{"url":"https://vulners.com/cve/CVE-2021-20197","tags":["report"]},{"url":"https://vulners.com/cve/CVE-2021-20284","tags":["report"]},{"url":"https://vulners.com/cve/CVE-2021-3487","tags":["report"]},{"url":"https://errata.cloudlinux.com/centos8.4-els/CLSA-2022-1645466518.html","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2021-20197","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2021-0341.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=28305","tags":["report"]},{"url":"https://sourceware.org/pipermail/binutils/2021-January/115071.html","tags":["web"]},{"url":"https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1153","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#moderate","tags":["article"]},{"url":"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes/","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1924068","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1930988","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1935785","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1937784","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1946518","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1946977","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1947111","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1950478","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1969775","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_4364.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-35448","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-35448","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35448","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-3487","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-3487","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-3487","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-20197","tags":["advisory","report"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-20284","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-20284","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-20284","tags":["advisory"]},{"url":"https://errata.rockylinux.org/RLSA-2021:4364","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2021/suse-su-20213593-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1126826","tags":["report"]},{"url":"https://bugzilla.suse.com/1126829","tags":["report"]},{"url":"https://bugzilla.suse.com/1126831","tags":["report"]},{"url":"https://bugzilla.suse.com/1140126","tags":["report"]},{"url":"https://bugzilla.suse.com/1142649","tags":["report"]},{"url":"https://bugzilla.suse.com/1143609","tags":["report"]},{"url":"https://bugzilla.suse.com/1153768","tags":["report"]},{"url":"https://bugzilla.suse.com/1153770","tags":["report"]},{"url":"https://bugzilla.suse.com/1157755","tags":["report"]},{"url":"https://bugzilla.suse.com/1160254","tags":["report"]},{"url":"https://bugzilla.suse.com/1160590","tags":["report"]},{"url":"https://bugzilla.suse.com/1163333","tags":["report"]},{"url":"https://bugzilla.suse.com/1163744","tags":["report"]},{"url":"https://bugzilla.suse.com/1179036","tags":["report"]},{"url":"https://bugzilla.suse.com/1179341","tags":["report"]},{"url":"https://bugzilla.suse.com/1179898","tags":["report"]},{"url":"https://bugzilla.suse.com/1179899","tags":["report"]},{"url":"https://bugzilla.suse.com/1179900","tags":["report"]},{"url":"https://bugzilla.suse.com/1179901","tags":["report"]},{"url":"https://bugzilla.suse.com/1179902","tags":["report"]},{"url":"https://bugzilla.suse.com/1179903","tags":["report"]},{"url":"https://bugzilla.suse.com/1180451","tags":["report"]},{"url":"https://bugzilla.suse.com/1180454","tags":["report"]},{"url":"https://bugzilla.suse.com/1180461","tags":["report"]},{"url":"https://bugzilla.suse.com/1181452","tags":["report"]},{"url":"https://bugzilla.suse.com/1182252","tags":["report"]},{"url":"https://bugzilla.suse.com/1183511","tags":["report"]},{"url":"https://bugzilla.suse.com/1184620","tags":["report"]},{"url":"https://bugzilla.suse.com/1184794","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2019-12972","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14250","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14444","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-17450","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-17451","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-9074","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-9075","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-9077","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16590","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16591","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16592","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16593","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16598","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-16599","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35448","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35493","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35496","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35507","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20197","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20284","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-3487","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2021/suse-su-20213616-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2022/suse-su-20220934-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1183909","tags":["report"]},{"url":"https://bugzilla.suse.com/1184519","tags":["report"]},{"url":"https://bugzilla.suse.com/1188941","tags":["report"]},{"url":"https://bugzilla.suse.com/1191473","tags":["report"]},{"url":"https://bugzilla.suse.com/1192267","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20294","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2021-20197","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/N6RYWEZ5BKTK6UEP6HAB7B466BPC3SMJ/","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/4TQ3DLF5YEQDDJUON6WGBX2HVVM7FOLB/","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2014-9939","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12448","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12450","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12452","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12453","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12454","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12456","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-12799","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-13757","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14128","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14129","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14130","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14333","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14529","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14729","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14745","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-14974","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-15938","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-15939","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-15996","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16826","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16827","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16828","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16829","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16830","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16831","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-16832","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-6965","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-6966","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-6969","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7209","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7210","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7223","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7224","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7225","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7226","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7299","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7300","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7301","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7302","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7303","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7304","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8392","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8393","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8394","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8396","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8421","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9746","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9747","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9748","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9750","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9755","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-9756","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-1000876","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10372","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10373","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10534","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10535","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-17358","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-17359","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-17360","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-17985","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18309","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18483","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18484","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18605","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18606","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-18607","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-19931","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-19932","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-20623","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-20651","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-20671","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-6323","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-6543","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-6759","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-6872","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7208","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7568","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7569","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7570","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7642","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-7643","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-8945","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-1010180","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2021-20197","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T16:47:20Z","modified":"2025-12-03T15:08:21.724Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium","assessor":"adp"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:32:55.564736Z"}],"euvd":[{"id":"EUVD-2021-7643","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T16:47:20Z","modified":"2025-12-03T15:08:21Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T19:49:10.716009Z"}],"ghsa":[{"id":"GHSA-rq67-5wpf-96wv","title":"There is an open race window when writing output in the following utilities in GNU binutils...","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2022-05-24T17:45:32Z","modified":"2025-12-03T15:31:31Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-59","CWE-362"],"updated_at":"2026-11-02T15:05:01.323335Z"}],"nvd":[{"id":"CVE-2021-20197","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T17:15:12.92Z","modified":"2026-06-17T03:33:27.327Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium","assessor":"primary"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"2.0","score":3.3,"vector":"AV:L/AC:M/Au:N/C:P/I:P/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-59","CWE-362"],"updated_at":"2026-11-02T14:06:51.197859Z"}],"osv":[{"id":"AZL-41714","title":"CVE-2021-20197 affecting package crash for versions less than 8.0.4-4","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T17:15:12Z","modified":"2026-04-21T04:48:28.930442Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:28:04.893995Z"},{"id":"CVE-2021-20197","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T17:15:12.92Z","modified":"2026-10-24T10:31:06.260114893Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:17.663289Z"},{"id":"DEBIAN-CVE-2021-20197","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T17:15:12.92Z","modified":"2026-10-23T18:03:24.193217115Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:34.311861Z"},{"id":"OESA-2021-1153","title":"binutils security update","description":"\r\n\r\nSecurity Fix(es):\r\n\r\nThere is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.(CVE-2021-20197)","status":"published","published":"2021-05-06T11:04:23Z","modified":"2026-08-18T01:15:29.67647555Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:38.987987Z"},{"id":"RHSA-2021:4364","title":"Red Hat Security Advisory: binutils security update","status":"published","published":"2024-09-16T05:37:59Z","modified":"2026-06-26T12:21:16.740940248Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:08.619234Z"},{"id":"RLSA-2021:4364","title":"Moderate: binutils security update","description":"The binutils packages provide a collection of binary utilities for the manipulation of object code in various object file formats. It includes the ar, as, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, strip, and addr2line utilities.\n\nSecurity Fix(es):\n\n* binutils: Excessive debug section size can cause excessive memory consumption in bfd's dwarf2.c read_section() (CVE-2021-3487)\n\n* binutils: Race window allows users to own arbitrary files (CVE-2021-20197)\n\n* binutils: Heap-based buffer overflow in bfd_getl_signed_32() in libbfd.c because sh_entsize is not validated in _bfd_elf_slurp_secondary_reloc_section() in elf.c (CVE-2020-35448)\n\n* binutils: Heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (CVE-2021-20284)\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.\n\nAdditional Changes:\n\nFor detailed information on changes in this release, see the Rocky Linux 8.5 Release Notes linked from the References section.","status":"published","published":"2021-11-09T09:11:20Z","modified":"2026-02-04T07:40:26.5587Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:23.969672Z"},{"id":"UBUNTU-CVE-2021-20197","description":"There is an open race window when writing output in the following utilities in GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When these utilities are run as a privileged user (presumably as part of a script updating binaries across different users), an unprivileged user can trick these utilities into getting ownership of arbitrary files through a symlink.","status":"published","published":"2021-03-26T17:15:00Z","modified":"2026-04-22T12:45:36.949307Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:25.728622Z"},{"id":"ALSA-2021:4364","title":"Moderate: binutils security update","description":"The binutils packages provide a collection of binary utilities for the manipulation of object code in various object file formats. It includes the ar, as, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, strip, and addr2line utilities.\n\nSecurity Fix(es):\n\n* binutils: Excessive debug section size can cause excessive memory consumption in bfd's dwarf2.c read_section() (CVE-2021-3487)\n\n* binutils: Race window allows users to own arbitrary files (CVE-2021-20197)\n\n* binutils: Heap-based buffer overflow in bfd_getl_signed_32() in libbfd.c because sh_entsize is not validated in _bfd_elf_slurp_secondary_reloc_section() in elf.c (CVE-2020-35448)\n\n* binutils: Heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (CVE-2021-20284)\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.\n\nAdditional Changes:\n\nFor detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.","status":"published","published":"2021-11-09T09:11:20Z","modified":"2026-10-29T11:01:28.298348749Z","updated_at":"2026-11-02T15:27:51.196609Z"},{"id":"CLSA-2022-1645466518","title":"Fix of CVE: CVE-2021-20284, CVE-2021-20197, CVE-2021-42574, CVE-2021-3487, CVE-2020-35448","description":"- CVE-2021-42574: Developer environment: Unicode's bidirectional (BiDi) override characters can cause trojan source attacks (#2009172)\n- CVE-2021-20284: Heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (#1961526)\n- CVE-2020-35448: Heap-based buffer overflow in bfd_getl_signed_32() in libbfd.c (#1953659)\n- CVE-2021-3487: Excessive debug section size can cause excessive memory consumption in bfd's dwarf2.c read_section() (#1947134)\n- CVE-2021-20197: Race window allows users to own arbitrary files (#1920642)","status":"published","published":"2022-02-21T18:01:58Z","modified":"2026-10-21T10:47:06.708683889Z","updated_at":"2026-11-02T15:43:39.801198Z"},{"id":"MGASA-2021-0341","title":"Updated binutils packages fix security vulnerabilities","description":"This update provides binutils 2.36.1 and fixes at least the following security\nissues:\n\nThere's a flaw in the BFD library of binutils in versions before 2.36. An\nattacker who supplies a crafted file to an application linked with BFD, and\nusing the DWARF functionality, could cause an impact to system availability\nby way of excessive memory consumption (CVE-2021-3487).\n\nThere is an open race window when writing output in the following utilities\nin GNU binutils version 2.35 and earlier:ar, objcopy, strip, ranlib. When\nthese utilities are run as a privileged user (presumably as part of a script\nupdating binaries across different users), an unprivileged user can trick\nthese utilities into getting ownership of arbitrary files through a symlink\n(CVE-2021-20197).\n\nFor more info about the 2.36 update, see the sourceware link.\n","status":"published","published":"2021-07-12T20:26:21Z","modified":"2026-04-16T04:43:28.977038Z","updated_at":"2026-11-02T15:49:41.509337Z"},{"id":"openSUSE-SU-2021:1475-1","title":"Security update for binutils","description":"This update for binutils fixes the following issues:\n\nUpdate to binutils 2.37:\n\n* The GNU Binutils sources now requires a C99 compiler and library to\n  build.\n* Support for Realm Management Extension (RME) for AArch64 has been\n  added.\n* A new linker option '-z report-relative-reloc' for x86 ELF targets\n  has been added to report dynamic relative relocations.\n* A new linker option '-z start-stop-gc' has been added to disable\n  special treatment of __start_*/__stop_* references when\n  --gc-sections.\n* A new linker options '-Bno-symbolic' has been added which will\n  cancel the '-Bsymbolic' and '-Bsymbolic-functions' options.\n* The readelf tool has a new command line option which can be used to\n  specify how the numeric values of symbols are reported.\n  --sym-base=0|8|10|16 tells readelf to display the values in base 8,\n  base 10 or base 16.  A sym base of 0 represents the default action\n  of displaying values under 10000 in base 10 and values above that in\n  base 16.\n* A new format has been added to the nm program.  Specifying\n  '--format=just-symbols' (or just using -j) will tell the program to\n  only display symbol names and nothing else.\n* A new command line option '--keep-section-symbols' has been added to\n  objcopy and strip.  This stops the removal of unused section symbols\n  when the file is copied.  Removing these symbols saves space, but\n  sometimes they are needed by other tools.\n* The '--weaken', '--weaken-symbol' and '--weaken-symbols' options\n  supported by objcopy now make undefined symbols weak on targets that\n  support weak symbols. \n* Readelf and objdump can now display and use the contents of .debug_sup\n  sections.\n* Readelf and objdump will now follow links to separate debug info\n  files by default.  This behaviour can be stopped via the use of the\n  new '-wN' or '--debug-dump=no-follow-links' options for readelf and\n  the '-WN' or '--dwarf=no-follow-links' options for objdump.  Also\n  the old behaviour can be restored by the use of the\n  '--enable-follow-debug-links=no' configure time option.\n\n  The semantics of the =follow-links option have also been slightly\n  changed.  When enabled, the option allows for the loading of symbol\n  tables and string tables from the separate files which can be used\n  to enhance the information displayed when dumping other sections,\n  but it does not automatically imply that information from the\n  separate files should be displayed.\n\n  If other debug section display options are also enabled (eg\n  '--debug-dump=info') then the contents of matching sections in both\n  the main file and the separate debuginfo file *will* be displayed.\n  This is because in most cases the debug section will only be present\n  in one of the files.\n\n  If however non-debug section display options are enabled (eg\n  '--sections') then the contents of matching parts of the separate\n  debuginfo file will *not* be displayed.  This is because in most\n  cases the user probably only wanted to load the symbol information\n  from the separate debuginfo file.  In order to change this behaviour\n  a new command line option --process-links can be used.  This will\n  allow di0pslay options to applied to both the main file and any\n  separate debuginfo files.\n\n* Nm has a new command line option: '--quiet'.  This suppresses 'no\n  symbols' diagnostic.\n\nUpdate to binutils 2.36:\n\nNew features in the Assembler:\n\n- General:\n\n   * When setting the link order attribute of ELF sections, it is now\n     possible to use a numeric section index instead of symbol name.\n   * Added a .nop directive to generate a single no-op instruction in\n     a target neutral manner.  This instruction does have an effect on\n     DWARF line number generation, if that is active.\n   * Removed --reduce-memory-overheads and --hash-size as gas now\n     uses hash tables that can be expand and shrink automatically.\n\n- X86/x86_64:\n\n   * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key\n     Locker instructions. \n   * Support non-absolute segment values for lcall and ljmp.\n   * Add {disp16} pseudo prefix to x86 assembler.\n   * Configure with --enable-x86-used-note by default for Linux/x86.\n\n-  ARM/AArch64:\n\n   * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,\n     Cortex-R82, Neoverse V1, and Neoverse N2 cores.\n   * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded\n     Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call\n     Stack Recorder Extension) and BRBE (Branch Record Buffer\n     Extension) system registers.\n   * Add support for Armv8-R and Armv8.7-A ISA extensions.\n   * Add support for DSB memory nXS barrier, WFET and WFIT\n     instruction for Armv8.7.\n   * Add support for +csre feature for -march. Add CSR PDEC\n     instruction for CSRE feature in AArch64.\n   * Add support for +flagm feature for -march in Armv8.4 AArch64.\n   * Add support for +ls64 feature for -march in Armv8.7\n     AArch64. Add atomic 64-byte load/store instructions for this\n     feature. \n   * Add support for +pauth (Pointer Authentication) feature for\n     -march in AArch64.\n\nNew features in the Linker:\n\n  * Add --error-handling-script=\u003cNAME\u003e command line option to allow\n    a helper script to be invoked when an undefined symbol or a\n    missing library is encountered.  This option can be suppressed\n    via the configure time switch: --enable-error-handling-script=no.\n  * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark\n    x86-64-{baseline|v[234]} ISA level as needed.\n  * Add -z unique-symbol to avoid duplicated local symbol names.\n  * The creation of PE format DLLs now defaults to using a more\n    secure set of DLL characteristics.\n  * The linker now deduplicates the types in .ctf sections.  The new \n     command-line option --ctf-share-types describes how to do this:\n     its default value, share-unconflicted, produces the most compact\n     output.\n  * The linker now omits the 'variable section' from .ctf sections\n    by default, saving space.  This is almost certainly what you\n    want unless you are working on a project that has its own\n    analogue of symbol tables that are not reflected in the ELF\n    symtabs.\n\nNew features in other binary tools:\n\n  * The ar tool's previously unused l modifier is now used for\n    specifying dependencies of a static library. The arguments of\n    this option (or --record-libdeps long form option) will be\n    stored verbatim in the __.LIBDEP member of the archive, which\n    the linker may read at link time.\n  * Readelf can now display the contents of LTO symbol table\n    sections when asked to do so via the --lto-syms command line\n    option.\n  * Readelf now accepts the -C command line option to enable the\n    demangling of symbol names.  In addition the --demangle=\u003cstyle\u003e,\n    --no-demangle, --recurse-limit and --no-recurse-limit options\n    are also now availale.\n\nOther fixes:\n\n- For compatibility on old code stream that expect 'brcl 0,label' to\n  not be disassembled as 'jgnop label' on s390x.  (bsc#1192267)\n  This reverts IBM zSeries HLASM support for now.\n- Fixed that ppc64 optflags did not enable LTO (bsc#1188941).\n- Fix empty man-pages from broken release tarball\n- Fixed a memory corruption with rpath option (bsc#1191473).\n- Fixed slow performance of stripping some binaries (bsc#1183909).\n\nThe following security fixes are addressed by the update:\n\n- CVE-2021-20197: Fixed a race condition which allows users to own arbitrary files (bsc#1181452).\n- CVE-2021-20284: Fixed a heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (bsc#1183511).\n- CVE-2021-3487: Fixed a denial of service via excessive debug section size causing excessive memory consumption in bfd's dwarf2.c read_section() (bsc#1184620).\n- CVE-2020-35448: Fixed a heap-based buffer over-read in bfd_getl_signed_32() in libbfd.c (bsc#1184794).\n- CVE-2020-16590: Fixed a double free vulnerability in process_symbol_table() (bsc#1179898).\n- CVE-2020-16591: Fixed an invalid read in process_symbol_table() (bsc#1179899).\n- CVE-2020-16592: Fixed an use-after-free in bfd_hash_lookup() (bsc#1179900).\n- CVE-2020-16593: Fixed a null pointer dereference in scan_unit_for_symbols() (bsc#1179901).\n- CVE-2020-16598: Fixed a null pointer dereference in debug_get_real_type() (bsc#1179902).\n- CVE-2020-16599: Fixed a null pointer dereference in _bfd_elf_get_symbol_version_string() (bsc#1179903)\n- CVE-2020-35493: Fixed heap-based buffer overflow in bfd_pef_parse_function_stubs function in bfd/pef.c via crafted PEF file (bsc#1180451).\n- CVE-2020-35496: Fixed multiple null pointer dereferences in bfd module due to not checking return value of bfd_malloc (bsc#1180454).\n- CVE-2020-35507: Fixed a null pointer dereference in bfd_pef_parse_function_stubs() (bsc#1180461).\n- CVE-2021-20294: Fixed out-of-bounds write in print_dynamic_symbol in readelf (bnc#1184519)\n","status":"published","published":"2021-11-15T09:07:38Z","modified":"2025-05-07T18:11:44.985778Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"openSUSE-SU-2021:3616-1","title":"Security update for binutils","description":"This update for binutils fixes the following issues:\n\nUpdate to binutils 2.37:\n\n* The GNU Binutils sources now requires a C99 compiler and library to\n  build.\n* Support for Realm Management Extension (RME) for AArch64 has been\n  added.\n* A new linker option '-z report-relative-reloc' for x86 ELF targets\n  has been added to report dynamic relative relocations.\n* A new linker option '-z start-stop-gc' has been added to disable\n  special treatment of __start_*/__stop_* references when\n  --gc-sections.\n* A new linker options '-Bno-symbolic' has been added which will\n  cancel the '-Bsymbolic' and '-Bsymbolic-functions' options.\n* The readelf tool has a new command line option which can be used to\n  specify how the numeric values of symbols are reported.\n  --sym-base=0|8|10|16 tells readelf to display the values in base 8,\n  base 10 or base 16.  A sym base of 0 represents the default action\n  of displaying values under 10000 in base 10 and values above that in\n  base 16.\n* A new format has been added to the nm program.  Specifying\n  '--format=just-symbols' (or just using -j) will tell the program to\n  only display symbol names and nothing else.\n* A new command line option '--keep-section-symbols' has been added to\n  objcopy and strip.  This stops the removal of unused section symbols\n  when the file is copied.  Removing these symbols saves space, but\n  sometimes they are needed by other tools.\n* The '--weaken', '--weaken-symbol' and '--weaken-symbols' options\n  supported by objcopy now make undefined symbols weak on targets that\n  support weak symbols. \n* Readelf and objdump can now display and use the contents of .debug_sup\n  sections.\n* Readelf and objdump will now follow links to separate debug info\n  files by default.  This behaviour can be stopped via the use of the\n  new '-wN' or '--debug-dump=no-follow-links' options for readelf and\n  the '-WN' or '--dwarf=no-follow-links' options for objdump.  Also\n  the old behaviour can be restored by the use of the\n  '--enable-follow-debug-links=no' configure time option.\n\n  The semantics of the =follow-links option have also been slightly\n  changed.  When enabled, the option allows for the loading of symbol\n  tables and string tables from the separate files which can be used\n  to enhance the information displayed when dumping other sections,\n  but it does not automatically imply that information from the\n  separate files should be displayed.\n\n  If other debug section display options are also enabled (eg\n  '--debug-dump=info') then the contents of matching sections in both\n  the main file and the separate debuginfo file *will* be displayed.\n  This is because in most cases the debug section will only be present\n  in one of the files.\n\n  If however non-debug section display options are enabled (eg\n  '--sections') then the contents of matching parts of the separate\n  debuginfo file will *not* be displayed.  This is because in most\n  cases the user probably only wanted to load the symbol information\n  from the separate debuginfo file.  In order to change this behaviour\n  a new command line option --process-links can be used.  This will\n  allow di0pslay options to applied to both the main file and any\n  separate debuginfo files.\n\n* Nm has a new command line option: '--quiet'.  This suppresses 'no\n  symbols' diagnostic.\n\nUpdate to binutils 2.36:\n\nNew features in the Assembler:\n\n- General:\n\n   * When setting the link order attribute of ELF sections, it is now\n     possible to use a numeric section index instead of symbol name.\n   * Added a .nop directive to generate a single no-op instruction in\n     a target neutral manner.  This instruction does have an effect on\n     DWARF line number generation, if that is active.\n   * Removed --reduce-memory-overheads and --hash-size as gas now\n     uses hash tables that can be expand and shrink automatically.\n\n- X86/x86_64:\n\n   * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key\n     Locker instructions. \n   * Support non-absolute segment values for lcall and ljmp.\n   * Add {disp16} pseudo prefix to x86 assembler.\n   * Configure with --enable-x86-used-note by default for Linux/x86.\n\n-  ARM/AArch64:\n\n   * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,\n     Cortex-R82, Neoverse V1, and Neoverse N2 cores.\n   * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded\n     Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call\n     Stack Recorder Extension) and BRBE (Branch Record Buffer\n     Extension) system registers.\n   * Add support for Armv8-R and Armv8.7-A ISA extensions.\n   * Add support for DSB memory nXS barrier, WFET and WFIT\n     instruction for Armv8.7.\n   * Add support for +csre feature for -march. Add CSR PDEC\n     instruction for CSRE feature in AArch64.\n   * Add support for +flagm feature for -march in Armv8.4 AArch64.\n   * Add support for +ls64 feature for -march in Armv8.7\n     AArch64. Add atomic 64-byte load/store instructions for this\n     feature. \n   * Add support for +pauth (Pointer Authentication) feature for\n     -march in AArch64.\n\nNew features in the Linker:\n\n  * Add --error-handling-script=\u003cNAME\u003e command line option to allow\n    a helper script to be invoked when an undefined symbol or a\n    missing library is encountered.  This option can be suppressed\n    via the configure time switch: --enable-error-handling-script=no.\n  * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark\n    x86-64-{baseline|v[234]} ISA level as needed.\n  * Add -z unique-symbol to avoid duplicated local symbol names.\n  * The creation of PE format DLLs now defaults to using a more\n    secure set of DLL characteristics.\n  * The linker now deduplicates the types in .ctf sections.  The new \n     command-line option --ctf-share-types describes how to do this:\n     its default value, share-unconflicted, produces the most compact\n     output.\n  * The linker now omits the 'variable section' from .ctf sections\n    by default, saving space.  This is almost certainly what you\n    want unless you are working on a project that has its own\n    analogue of symbol tables that are not reflected in the ELF\n    symtabs.\n\nNew features in other binary tools:\n\n  * The ar tool's previously unused l modifier is now used for\n    specifying dependencies of a static library. The arguments of\n    this option (or --record-libdeps long form option) will be\n    stored verbatim in the __.LIBDEP member of the archive, which\n    the linker may read at link time.\n  * Readelf can now display the contents of LTO symbol table\n    sections when asked to do so via the --lto-syms command line\n    option.\n  * Readelf now accepts the -C command line option to enable the\n    demangling of symbol names.  In addition the --demangle=\u003cstyle\u003e,\n    --no-demangle, --recurse-limit and --no-recurse-limit options\n    are also now availale.\n\nThe following security fixes are addressed by the update:\n\n- CVE-2021-20197: Fixed a race condition which allows users to own arbitrary files (bsc#1181452).\n- CVE-2021-20284: Fixed a heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (bsc#1183511).\n- CVE-2021-3487: Fixed a denial of service via excessive debug section size causing excessive memory consumption in bfd's dwarf2.c read_section() (bsc#1184620).\n- CVE-2020-35448: Fixed a heap-based buffer over-read in bfd_getl_signed_32() in libbfd.c (bsc#1184794).\n- CVE-2020-16590: Fixed a double free vulnerability in process_symbol_table() (bsc#1179898).\n- CVE-2020-16591: Fixed an invalid read in process_symbol_table() (bsc#1179899).\n- CVE-2020-16592: Fixed an use-after-free in bfd_hash_lookup() (bsc#1179900).\n- CVE-2020-16593: Fixed a null pointer dereference in scan_unit_for_symbols() (bsc#1179901).\n- CVE-2020-16598: Fixed a null pointer dereference in debug_get_real_type() (bsc#1179902).\n- CVE-2020-16599: Fixed a null pointer dereference in _bfd_elf_get_symbol_version_string() (bsc#1179903)\n- CVE-2020-35493: Fixed heap-based buffer overflow in bfd_pef_parse_function_stubs function in bfd/pef.c via crafted PEF file (bsc#1180451).\n- CVE-2020-35496: Fixed multiple null pointer dereferences in bfd module due to not checking return value of bfd_malloc (bsc#1180454).\n- CVE-2020-35507: Fixed a null pointer dereference in bfd_pef_parse_function_stubs() (bsc#1180461).\n","status":"published","published":"2021-11-04T11:29:46Z","modified":"2026-02-04T03:47:01.54596Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"openSUSE-SU-2024:10651-1","title":"binutils-2.37-1.3 on GA media","description":"These are all security issues fixed in the binutils-2.37-1.3 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T04:21:04.564666Z","updated_at":"2026-11-02T16:58:34.487567Z"},{"id":"SUSE-SU-2021:3593-1","title":"Security update for binutils","description":"This update for binutils fixes the following issues:\n\nUpdate to binutils 2.37:\n\n* The GNU Binutils sources now requires a C99 compiler and library to\n  build.\n* Support for the arm-symbianelf format has been removed.\n* Support for Realm Management Extension (RME) for AArch64 has been\n  added.\n* A new linker option '-z report-relative-reloc' for x86 ELF targets\n  has been added to report dynamic relative relocations.\n* A new linker option '-z start-stop-gc' has been added to disable\n  special treatment of __start_*/__stop_* references when\n  --gc-sections.\n* A new linker options '-Bno-symbolic' has been added which will\n  cancel the '-Bsymbolic' and '-Bsymbolic-functions' options.\n* The readelf tool has a new command line option which can be used to\n  specify how the numeric values of symbols are reported.\n  --sym-base=0|8|10|16 tells readelf to display the values in base 8,\n  base 10 or base 16.  A sym base of 0 represents the default action\n  of displaying values under 10000 in base 10 and values above that in\n  base 16.\n* A new format has been added to the nm program.  Specifying\n  '--format=just-symbols' (or just using -j) will tell the program to\n  only display symbol names and nothing else.\n* A new command line option '--keep-section-symbols' has been added to\n  objcopy and strip.  This stops the removal of unused section symbols\n  when the file is copied.  Removing these symbols saves space, but\n  sometimes they are needed by other tools.\n* The '--weaken', '--weaken-symbol' and '--weaken-symbols' options\n  supported by objcopy now make undefined symbols weak on targets that\n  support weak symbols. \n* Readelf and objdump can now display and use the contents of .debug_sup\n  sections.\n* Readelf and objdump will now follow links to separate debug info\n  files by default.  This behaviour can be stopped via the use of the\n  new '-wN' or '--debug-dump=no-follow-links' options for readelf and\n  the '-WN' or '--dwarf=no-follow-links' options for objdump.  Also\n  the old behaviour can be restored by the use of the\n  '--enable-follow-debug-links=no' configure time option.\n\n  The semantics of the =follow-links option have also been slightly\n  changed.  When enabled, the option allows for the loading of symbol\n  tables and string tables from the separate files which can be used\n  to enhance the information displayed when dumping other sections,\n  but it does not automatically imply that information from the\n  separate files should be displayed.\n\n  If other debug section display options are also enabled (eg\n  '--debug-dump=info') then the contents of matching sections in both\n  the main file and the separate debuginfo file *will* be displayed.\n  This is because in most cases the debug section will only be present\n  in one of the files.\n\n  If however non-debug section display options are enabled (eg\n  '--sections') then the contents of matching parts of the separate\n  debuginfo file will *not* be displayed.  This is because in most\n  cases the user probably only wanted to load the symbol information\n  from the separate debuginfo file.  In order to change this behaviour\n  a new command line option --process-links can be used.  This will\n  allow di0pslay options to applied to both the main file and any\n  separate debuginfo files.\n* Nm has a new command line option: '--quiet'.  This suppresses 'no\n  symbols' diagnostic.\n\nUpdate to binutils 2.36:\n\n New features in the Assembler:\n\n  General:\n\n   * When setting the link order attribute of ELF sections, it is now\n     possible to use a numeric section index instead of symbol name.\n   * Added a .nop directive to generate a single no-op instruction in\n     a target neutral manner.  This instruction does have an effect on\n     DWARF line number generation, if that is active.\n   * Removed --reduce-memory-overheads and --hash-size as gas now\n     uses hash tables that can be expand and shrink automatically.\n\n   X86/x86_64:\n\n     * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key\n       Locker instructions. \n     * Support non-absolute segment values for lcall and ljmp.\n     * Add {disp16} pseudo prefix to x86 assembler.\n     * Configure with --enable-x86-used-note by default for Linux/x86.\n\n   ARM/AArch64:\n\n     * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,\n       Cortex-R82, Neoverse V1, and Neoverse N2 cores.\n     * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded\n       Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call\n       Stack Recorder Extension) and BRBE (Branch Record Buffer\n       Extension) system registers.\n     * Add support for Armv8-R and Armv8.7-A ISA extensions.\n     * Add support for DSB memory nXS barrier, WFET and WFIT\n       instruction for Armv8.7.\n     * Add support for +csre feature for -march. Add CSR PDEC\n       instruction for CSRE feature in AArch64.\n     * Add support for +flagm feature for -march in Armv8.4 AArch64.\n     * Add support for +ls64 feature for -march in Armv8.7\n       AArch64. Add atomic 64-byte load/store instructions for this\n       feature. \n     * Add support for +pauth (Pointer Authentication) feature for\n       -march in AArch64.\n\n  New features in the Linker:\n\n    * Add --error-handling-script=\u003cNAME\u003e command line option to allow\n      a helper script to be invoked when an undefined symbol or a\n      missing library is encountered.  This option can be suppressed\n      via the configure time switch: --enable-error-handling-script=no.\n    * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark\n      x86-64-{baseline|v[234]} ISA level as needed.\n    * Add -z unique-symbol to avoid duplicated local symbol names.\n    * The creation of PE format DLLs now defaults to using a more\n      secure set of DLL characteristics.\n    * The linker now deduplicates the types in .ctf sections.  The new \n       command-line option --ctf-share-types describes how to do this:\n       its default value, share-unconflicted, produces the most compact\n       output.\n    * The linker now omits the 'variable section' from .ctf sections\n      by default, saving space.  This is almost certainly what you\n      want unless you are working on a project that has its own\n      analogue of symbol tables that are not reflected in the ELF\n      symtabs.\n\nNew features in other binary tools:\n\n    * The ar tool's previously unused l modifier is now used for\n      specifying dependencies of a static library. The arguments of\n      this option (or --record-libdeps long form option) will be\n      stored verbatim in the __.LIBDEP member of the archive, which\n      the linker may read at link time.\n    * Readelf can now display the contents of LTO symbol table\n      sections when asked to do so via the --lto-syms command line\n      option.\n    * Readelf now accepts the -C command line option to enable the\n      demangling of symbol names.  In addition the --demangle=\u003cstyle\u003e,\n      --no-demangle, --recurse-limit and --no-recurse-limit options\n      are also now availale.\n\nUpdate to binutils 2.35.1:\n\n* This is a point release over the previous 2.35 version, containing bug\n  fixes, and as an exception to the usual rule, one new feature.  The\n  new feature is the support for a new directive in the assembler:\n  '.nop'.  This directive creates a single no-op instruction in whatever\n  encoding is correct for the target architecture.  Unlike the .space or\n  .fill this is a real instruction, and it does affect the generation of\n  DWARF line number tables, should they be enabled.\n\nUpdate to binutils 2.35:\n\n* The assembler can now produce DWARF-5 format line number tables.\n* Readelf now has a 'lint' mode to enable extra checks of the files it is processing.\n* Readelf will now display '[...]' when it has to truncate a symbol name.  \n  The old behaviour - of displaying as many characters as possible, up to\n  the 80 column limit - can be restored by the use of the --silent-truncation\n  option.\n* The linker can now produce a dependency file listing the inputs that it\n  has processed, much like the -M -MP option supported by the compiler.\n\nUpdate to binutils 2.34:\n\n* The disassembler (objdump --disassemble) now has an option to\n  generate ascii art thats show the arcs between that start and end\n  points of control flow instructions.\n* The binutils tools now have support for debuginfod.  Debuginfod is a \n  HTTP service for distributing ELF/DWARF debugging information as\n  well as source code.  The tools can now connect to debuginfod\n  servers in order to download debug information about the files that\n  they are processing.\n* The assembler and linker now support the generation of ELF format\n  files for the Z80 architecture.\n\nUpdate to binutils 2.33.1:\n\n* Adds support for the Arm Scalable Vector Extension version 2\n  (SVE2) instructions, the Arm Transactional Memory Extension (TME)\n  instructions and the Armv8.1-M Mainline and M-profile Vector\n  Extension (MVE) instructions.\n* Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P\n  processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE,\n  Cortex-A76AE, and Cortex-A77 processors.\n* Adds a .float16 directive for both Arm and AArch64 to allow\n  encoding of 16-bit floating point literals.\n* For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not)\n  Loongson3 LLSC Errata.  Add a --enable-mips-fix-loongson3-llsc=[yes|no]\n  configure time option to set the default behavior. Set the default\n  if the configure option is not used to 'no'.\n* The Cortex-A53 Erratum 843419 workaround now supports a choice of\n  which workaround to use.  The option --fix-cortex-a53-843419 now\n  takes an optional argument --fix-cortex-a53-843419[=full|adr|adrp]\n  which can be used to force a particular workaround to be used.\n  See --help for AArch64 for more details.\n* Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI and\n  GNU_PROPERTY_AARCH64_FEATURE_1_PAC  in ELF GNU program properties\n  in the AArch64 ELF linker. \n* Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI\n  on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI \n  on inputs and use PLTs protected with BTI.\n* Add -z pac-plt for AArch64 to pick PAC enabled PLTs.\n* Add --source-comment[=\u003ctxt\u003e] option to objdump which if present,\n  provides a prefix to source code lines displayed in a disassembly.\n* Add --set-section-alignment \u003csection-name\u003e=\u003cpower-of-2-align\u003e\n  option to objcopy to allow the changing of section alignments.\n* Add --verilog-data-width option to objcopy for verilog targets to\n  control width of data elements in verilog hex format.\n* The separate debug info file options of readelf (--debug-dump=links\n  and --debug-dump=follow) and objdump (--dwarf=links and\n  --dwarf=follow-links) will now display and/or follow multiple\n  links if more than one are present in a file.  (This usually\n  happens when gcc's -gsplit-dwarf option is used).\n  In addition objdump's --dwarf=follow-links now also affects its\n  other display options, so that for example, when combined with\n  --syms it will cause the symbol tables in any linked debug info\n  files to also be displayed.  In addition when combined with\n  --disassemble the --dwarf= follow-links option will ensure that\n  any symbol tables in the linked files are read and used when\n  disassembling code in the main file.\n* Add support for dumping types encoded in the Compact Type Format\n  to objdump and readelf.\n\nThe following security fixes are addressed by the update:\n\n- CVE-2021-20197: Fixed a race condition which allows users to own arbitrary files (bsc#1181452).\n- CVE-2021-20284: Fixed a heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (bsc#1183511).\n- CVE-2021-3487: Fixed a denial of service via excessive debug section size causing excessive memory consumption in bfd's dwarf2.c read_section() (bsc#1184620).\n- CVE-2020-35448: Fixed a heap-based buffer over-read in bfd_getl_signed_32() in libbfd.c (bsc#1184794).\n- CVE-2020-16590: Fixed a double free vulnerability in process_symbol_table() (bsc#1179898).\n- CVE-2020-16591: Fixed an invalid read in process_symbol_table() (bsc#1179899).\n- CVE-2020-16592: Fixed an use-after-free in bfd_hash_lookup() (bsc#1179900).\n- CVE-2020-16593: Fixed a null pointer dereference in scan_unit_for_symbols() (bsc#1179901).\n- CVE-2020-16598: Fixed a null pointer dereference in debug_get_real_type() (bsc#1179902).\n- CVE-2020-16599: Fixed a null pointer dereference in _bfd_elf_get_symbol_version_string() (bsc#1179903)\n- CVE-2020-35493: Fixed heap-based buffer overflow in bfd_pef_parse_function_stubs function in bfd/pef.c via crafted PEF file (bsc#1180451).\n- CVE-2020-35496: Fixed multiple null pointer dereferences in bfd module due to not checking return value of bfd_malloc (bsc#1180454).\n- CVE-2020-35507: Fixed a null pointer dereference in bfd_pef_parse_function_stubs() (bsc#1180461).\n- CVE-2019-17451: Fixed an integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line() in dwarf2.c (bsc#1153768).\n- CVE-2019-17450: Fixed a potential denial of service in find_abstract_instance() in dwarf2.c (bsc#1153770).\n- CVE-2019-9077: Fixed a heap-based buffer overflow in process_mips_specific() in readelf.c via a malformed MIPS option section (bsc#1126826).\n- CVE-2019-9075: Fixed a heap-based buffer overflow in _bfd_archive_64_bit_slurp_armap() in archive64.c (bsc#1126829).\n- CVE-2019-9074: Fixed a out-of-bounds read leading to a SEGV in bfd_getl32() in libbfd.c (bsc#1126831).\n- CVE-2019-12972: Fixed a heap-based buffer over-read in _bfd_doprnt() in bfd.c (bsc#1140126).\n- CVE-2019-14444: Fixed an integer overflow apply_relocations() in readelf.c (bsc#1143609).\n- CVE-2019-14250: Fixed an integer overflow in simple_object_elf_match() in simple-object-elf.c (bsc#1142649).\n","status":"published","published":"2021-11-02T09:35:56Z","modified":"2026-02-04T04:13:26.650689Z","updated_at":"2026-11-02T15:53:49.605187Z"},{"id":"SUSE-SU-2021:3616-1","title":"Security update for binutils","description":"This update for binutils fixes the following issues:\n\nUpdate to binutils 2.37:\n\n* The GNU Binutils sources now requires a C99 compiler and library to\n  build.\n* Support for Realm Management Extension (RME) for AArch64 has been\n  added.\n* A new linker option '-z report-relative-reloc' for x86 ELF targets\n  has been added to report dynamic relative relocations.\n* A new linker option '-z start-stop-gc' has been added to disable\n  special treatment of __start_*/__stop_* references when\n  --gc-sections.\n* A new linker options '-Bno-symbolic' has been added which will\n  cancel the '-Bsymbolic' and '-Bsymbolic-functions' options.\n* The readelf tool has a new command line option which can be used to\n  specify how the numeric values of symbols are reported.\n  --sym-base=0|8|10|16 tells readelf to display the values in base 8,\n  base 10 or base 16.  A sym base of 0 represents the default action\n  of displaying values under 10000 in base 10 and values above that in\n  base 16.\n* A new format has been added to the nm program.  Specifying\n  '--format=just-symbols' (or just using -j) will tell the program to\n  only display symbol names and nothing else.\n* A new command line option '--keep-section-symbols' has been added to\n  objcopy and strip.  This stops the removal of unused section symbols\n  when the file is copied.  Removing these symbols saves space, but\n  sometimes they are needed by other tools.\n* The '--weaken', '--weaken-symbol' and '--weaken-symbols' options\n  supported by objcopy now make undefined symbols weak on targets that\n  support weak symbols. \n* Readelf and objdump can now display and use the contents of .debug_sup\n  sections.\n* Readelf and objdump will now follow links to separate debug info\n  files by default.  This behaviour can be stopped via the use of the\n  new '-wN' or '--debug-dump=no-follow-links' options for readelf and\n  the '-WN' or '--dwarf=no-follow-links' options for objdump.  Also\n  the old behaviour can be restored by the use of the\n  '--enable-follow-debug-links=no' configure time option.\n\n  The semantics of the =follow-links option have also been slightly\n  changed.  When enabled, the option allows for the loading of symbol\n  tables and string tables from the separate files which can be used\n  to enhance the information displayed when dumping other sections,\n  but it does not automatically imply that information from the\n  separate files should be displayed.\n\n  If other debug section display options are also enabled (eg\n  '--debug-dump=info') then the contents of matching sections in both\n  the main file and the separate debuginfo file *will* be displayed.\n  This is because in most cases the debug section will only be present\n  in one of the files.\n\n  If however non-debug section display options are enabled (eg\n  '--sections') then the contents of matching parts of the separate\n  debuginfo file will *not* be displayed.  This is because in most\n  cases the user probably only wanted to load the symbol information\n  from the separate debuginfo file.  In order to change this behaviour\n  a new command line option --process-links can be used.  This will\n  allow di0pslay options to applied to both the main file and any\n  separate debuginfo files.\n\n* Nm has a new command line option: '--quiet'.  This suppresses 'no\n  symbols' diagnostic.\n\nUpdate to binutils 2.36:\n\nNew features in the Assembler:\n\n- General:\n\n   * When setting the link order attribute of ELF sections, it is now\n     possible to use a numeric section index instead of symbol name.\n   * Added a .nop directive to generate a single no-op instruction in\n     a target neutral manner.  This instruction does have an effect on\n     DWARF line number generation, if that is active.\n   * Removed --reduce-memory-overheads and --hash-size as gas now\n     uses hash tables that can be expand and shrink automatically.\n\n- X86/x86_64:\n\n   * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key\n     Locker instructions. \n   * Support non-absolute segment values for lcall and ljmp.\n   * Add {disp16} pseudo prefix to x86 assembler.\n   * Configure with --enable-x86-used-note by default for Linux/x86.\n\n-  ARM/AArch64:\n\n   * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,\n     Cortex-R82, Neoverse V1, and Neoverse N2 cores.\n   * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded\n     Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call\n     Stack Recorder Extension) and BRBE (Branch Record Buffer\n     Extension) system registers.\n   * Add support for Armv8-R and Armv8.7-A ISA extensions.\n   * Add support for DSB memory nXS barrier, WFET and WFIT\n     instruction for Armv8.7.\n   * Add support for +csre feature for -march. Add CSR PDEC\n     instruction for CSRE feature in AArch64.\n   * Add support for +flagm feature for -march in Armv8.4 AArch64.\n   * Add support for +ls64 feature for -march in Armv8.7\n     AArch64. Add atomic 64-byte load/store instructions for this\n     feature. \n   * Add support for +pauth (Pointer Authentication) feature for\n     -march in AArch64.\n\nNew features in the Linker:\n\n  * Add --error-handling-script=\u003cNAME\u003e command line option to allow\n    a helper script to be invoked when an undefined symbol or a\n    missing library is encountered.  This option can be suppressed\n    via the configure time switch: --enable-error-handling-script=no.\n  * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark\n    x86-64-{baseline|v[234]} ISA level as needed.\n  * Add -z unique-symbol to avoid duplicated local symbol names.\n  * The creation of PE format DLLs now defaults to using a more\n    secure set of DLL characteristics.\n  * The linker now deduplicates the types in .ctf sections.  The new \n     command-line option --ctf-share-types describes how to do this:\n     its default value, share-unconflicted, produces the most compact\n     output.\n  * The linker now omits the 'variable section' from .ctf sections\n    by default, saving space.  This is almost certainly what you\n    want unless you are working on a project that has its own\n    analogue of symbol tables that are not reflected in the ELF\n    symtabs.\n\nNew features in other binary tools:\n\n  * The ar tool's previously unused l modifier is now used for\n    specifying dependencies of a static library. The arguments of\n    this option (or --record-libdeps long form option) will be\n    stored verbatim in the __.LIBDEP member of the archive, which\n    the linker may read at link time.\n  * Readelf can now display the contents of LTO symbol table\n    sections when asked to do so via the --lto-syms command line\n    option.\n  * Readelf now accepts the -C command line option to enable the\n    demangling of symbol names.  In addition the --demangle=\u003cstyle\u003e,\n    --no-demangle, --recurse-limit and --no-recurse-limit options\n    are also now availale.\n\nThe following security fixes are addressed by the update:\n\n- CVE-2021-20197: Fixed a race condition which allows users to own arbitrary files (bsc#1181452).\n- CVE-2021-20284: Fixed a heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (bsc#1183511).\n- CVE-2021-3487: Fixed a denial of service via excessive debug section size causing excessive memory consumption in bfd's dwarf2.c read_section() (bsc#1184620).\n- CVE-2020-35448: Fixed a heap-based buffer over-read in bfd_getl_signed_32() in libbfd.c (bsc#1184794).\n- CVE-2020-16590: Fixed a double free vulnerability in process_symbol_table() (bsc#1179898).\n- CVE-2020-16591: Fixed an invalid read in process_symbol_table() (bsc#1179899).\n- CVE-2020-16592: Fixed an use-after-free in bfd_hash_lookup() (bsc#1179900).\n- CVE-2020-16593: Fixed a null pointer dereference in scan_unit_for_symbols() (bsc#1179901).\n- CVE-2020-16598: Fixed a null pointer dereference in debug_get_real_type() (bsc#1179902).\n- CVE-2020-16599: Fixed a null pointer dereference in _bfd_elf_get_symbol_version_string() (bsc#1179903)\n- CVE-2020-35493: Fixed heap-based buffer overflow in bfd_pef_parse_function_stubs function in bfd/pef.c via crafted PEF file (bsc#1180451).\n- CVE-2020-35496: Fixed multiple null pointer dereferences in bfd module due to not checking return value of bfd_malloc (bsc#1180454).\n- CVE-2020-35507: Fixed a null pointer dereference in bfd_pef_parse_function_stubs() (bsc#1180461).\n","status":"published","published":"2021-11-04T11:29:59Z","modified":"2026-02-04T04:00:33.50379Z","updated_at":"2026-11-02T15:53:49.605187Z"},{"id":"SUSE-SU-2022:0934-1","title":"Security update for binutils","description":"\nThis update for binutils fixes the following issues:\n\n- For compatibility on old code stream that expect 'brcl 0,label' to\n  not be disassembled as 'jgnop label' on s390x.  (bsc#1192267)\n  This reverts IBM zSeries HLASM support for now.\n- Fixed that ppc64 optflags did not enable LTO (bsc#1188941).\n- Fix empty man-pages from broken release tarball\n- Fixed a memory corruption with rpath option (bsc#1191473).\n- Fixed slow performance of stripping some binaries (bsc#1183909).\n\n\nUpdate to binutils 2.37:\n\n* The GNU Binutils sources now requires a C99 compiler and library to\n  build.\n* Support for Realm Management Extension (RME) for AArch64 has been\n  added.\n* A new linker option '-z report-relative-reloc' for x86 ELF targets\n  has been added to report dynamic relative relocations.\n* A new linker option '-z start-stop-gc' has been added to disable\n  special treatment of __start_*/__stop_* references when\n  --gc-sections.\n* A new linker options '-Bno-symbolic' has been added which will\n  cancel the '-Bsymbolic' and '-Bsymbolic-functions' options.\n* The readelf tool has a new command line option which can be used to\n  specify how the numeric values of symbols are reported.\n  --sym-base=0|8|10|16 tells readelf to display the values in base 8,\n  base 10 or base 16.  A sym base of 0 represents the default action\n  of displaying values under 10000 in base 10 and values above that in\n  base 16.\n* A new format has been added to the nm program.  Specifying\n  '--format=just-symbols' (or just using -j) will tell the program to\n  only display symbol names and nothing else.\n* A new command line option '--keep-section-symbols' has been added to\n  objcopy and strip.  This stops the removal of unused section symbols\n  when the file is copied.  Removing these symbols saves space, but\n  sometimes they are needed by other tools.\n* The '--weaken', '--weaken-symbol' and '--weaken-symbols' options\n  supported by objcopy now make undefined symbols weak on targets that\n  support weak symbols. \n* Readelf and objdump can now display and use the contents of .debug_sup\n  sections.\n* Readelf and objdump will now follow links to separate debug info\n  files by default.  This behaviour can be stopped via the use of the\n  new '-wN' or '--debug-dump=no-follow-links' options for readelf and\n  the '-WN' or '--dwarf=no-follow-links' options for objdump.  Also\n  the old behaviour can be restored by the use of the\n  '--enable-follow-debug-links=no' configure time option.\n\n  The semantics of the =follow-links option have also been slightly\n  changed.  When enabled, the option allows for the loading of symbol\n  tables and string tables from the separate files which can be used\n  to enhance the information displayed when dumping other sections,\n  but it does not automatically imply that information from the\n  separate files should be displayed.\n\n  If other debug section display options are also enabled (eg\n  '--debug-dump=info') then the contents of matching sections in both\n  the main file and the separate debuginfo file *will* be displayed.\n  This is because in most cases the debug section will only be present\n  in one of the files.\n\n  If however non-debug section display options are enabled (eg\n  '--sections') then the contents of matching parts of the separate\n  debuginfo file will *not* be displayed.  This is because in most\n  cases the user probably only wanted to load the symbol information\n  from the separate debuginfo file.  In order to change this behaviour\n  a new command line option --process-links can be used.  This will\n  allow di0pslay options to applied to both the main file and any\n  separate debuginfo files.\n\n* Nm has a new command line option: '--quiet'.  This suppresses 'no\n  symbols' diagnostic.\n\nUpdate to binutils 2.36:\n\nNew features in the Assembler:\n\n- General:\n\n   * When setting the link order attribute of ELF sections, it is now\n     possible to use a numeric section index instead of symbol name.\n   * Added a .nop directive to generate a single no-op instruction in\n     a target neutral manner.  This instruction does have an effect on\n     DWARF line number generation, if that is active.\n   * Removed --reduce-memory-overheads and --hash-size as gas now\n     uses hash tables that can be expand and shrink automatically.\n\n- X86/x86_64:\n\n   * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key\n     Locker instructions. \n   * Support non-absolute segment values for lcall and ljmp.\n   * Add {disp16} pseudo prefix to x86 assembler.\n   * Configure with --enable-x86-used-note by default for Linux/x86.\n\n-  ARM/AArch64:\n\n   * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,\n     Cortex-R82, Neoverse V1, and Neoverse N2 cores.\n   * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded\n     Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call\n     Stack Recorder Extension) and BRBE (Branch Record Buffer\n     Extension) system registers.\n   * Add support for Armv8-R and Armv8.7-A ISA extensions.\n   * Add support for DSB memory nXS barrier, WFET and WFIT\n     instruction for Armv8.7.\n   * Add support for +csre feature for -march. Add CSR PDEC\n     instruction for CSRE feature in AArch64.\n   * Add support for +flagm feature for -march in Armv8.4 AArch64.\n   * Add support for +ls64 feature for -march in Armv8.7\n     AArch64. Add atomic 64-byte load/store instructions for this\n     feature. \n   * Add support for +pauth (Pointer Authentication) feature for\n     -march in AArch64.\n\nNew features in the Linker:\n\n  * Add --error-handling-script=\u003cNAME\u003e command line option to allow\n    a helper script to be invoked when an undefined symbol or a\n    missing library is encountered.  This option can be suppressed\n    via the configure time switch: --enable-error-handling-script=no.\n  * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark\n    x86-64-{baseline|v[234]} ISA level as needed.\n  * Add -z unique-symbol to avoid duplicated local symbol names.\n  * The creation of PE format DLLs now defaults to using a more\n    secure set of DLL characteristics.\n  * The linker now deduplicates the types in .ctf sections.  The new \n     command-line option --ctf-share-types describes how to do this:\n     its default value, share-unconflicted, produces the most compact\n     output.\n  * The linker now omits the 'variable section' from .ctf sections\n    by default, saving space.  This is almost certainly what you\n    want unless you are working on a project that has its own\n    analogue of symbol tables that are not reflected in the ELF\n    symtabs.\n\nNew features in other binary tools:\n\n  * The ar tool's previously unused l modifier is now used for\n    specifying dependencies of a static library. The arguments of\n    this option (or --record-libdeps long form option) will be\n    stored verbatim in the __.LIBDEP member of the archive, which\n    the linker may read at link time.\n  * Readelf can now display the contents of LTO symbol table\n    sections when asked to do so via the --lto-syms command line\n    option.\n  * Readelf now accepts the -C command line option to enable the\n    demangling of symbol names.  In addition the --demangle=\u003cstyle\u003e,\n    --no-demangle, --recurse-limit and --no-recurse-limit options\n    are also now availale.\n\nThe following security fixes are addressed by the update:\n\n- CVE-2021-20197: Fixed a race condition which allows users to own arbitrary files (bsc#1181452).\n- CVE-2021-20284: Fixed a heap-based buffer overflow in _bfd_elf_slurp_secondary_reloc_section in elf.c (bsc#1183511).\n- CVE-2021-3487: Fixed a denial of service via excessive debug section size causing excessive memory consumption in bfd's dwarf2.c read_section() (bsc#1184620).\n- CVE-2020-35448: Fixed a heap-based buffer over-read in bfd_getl_signed_32() in libbfd.c (bsc#1184794).\n- CVE-2020-16590: Fixed a double free vulnerability in process_symbol_table() (bsc#1179898).\n- CVE-2020-16591: Fixed an invalid read in process_symbol_table() (bsc#1179899).\n- CVE-2020-16592: Fixed an use-after-free in bfd_hash_lookup() (bsc#1179900).\n- CVE-2020-16593: Fixed a null pointer dereference in scan_unit_for_symbols() (bsc#1179901).\n- CVE-2020-16598: Fixed a null pointer dereference in debug_get_real_type() (bsc#1179902).\n- CVE-2020-16599: Fixed a null pointer dereference in _bfd_elf_get_symbol_version_string() (bsc#1179903)\n- CVE-2020-35493: Fixed heap-based buffer overflow in bfd_pef_parse_function_stubs function in bfd/pef.c via crafted PEF file (bsc#1180451).\n- CVE-2020-35496: Fixed multiple null pointer dereferences in bfd module due to not checking return value of bfd_malloc (bsc#1180454).\n- CVE-2020-35507: Fixed a null pointer dereference in bfd_pef_parse_function_stubs() (bsc#1180461).\n- CVE-2021-20294: Fixed out-of-bounds write in print_dynamic_symbol in readelf (bnc#1184519)\n","status":"published","published":"2022-03-22T10:21:45Z","modified":"2026-02-04T02:19:09.184116Z","updated_at":"2026-11-02T15:53:50.066806Z"}]}}
