Security update for binutils

SUSE Security Update: Security update for binutils
Announcement ID: SUSE-SU-2019:2780-1
Rating: moderate
References: #1109412 #1109413 #1109414 #1111996 #1112534 #1112535 #1113247 #1113252 #1113255 #1116827 #1118644 #1118830 #1118831 #1120640 #1121034 #1121035 #1121056 #1133131 #1133232 #1141913 #1142772 #1152590 #1154016 #1154025
Cross-References:CVE-2018-1000876 CVE-2018-17358 CVE-2018-17359 CVE-2018-17360 CVE-2018-17985 CVE-2018-18309 CVE-2018-18483 CVE-2018-18484 CVE-2018-18605 CVE-2018-18606 CVE-2018-18607 CVE-2018-19931 CVE-2018-19932 CVE-2018-20623 CVE-2018-20651 CVE-2018-20671 CVE-2018-6323 CVE-2018-6543 CVE-2018-6759 CVE-2018-6872 CVE-2018-7208 CVE-2018-7568 CVE-2018-7569 CVE-2018-7570 CVE-2018-7642 CVE-2018-7643 CVE-2018-8945 CVE-2019-1010180
Affected Products:
  • SUSE Linux Enterprise Module for Packagehub Subpackages 15
  • SUSE Linux Enterprise Module for Open Buildservice Development Tools 15
  • SUSE Linux Enterprise Module for Development Tools 15
  • SUSE Linux Enterprise Module for Basesystem 15

An update that fixes 28 vulnerabilities is now available.


This update for binutils fixes the following issues:
binutils was updated to current 2.32 branch [jsc#ECO-368].
Includes following security fixes:

  • CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412)
  • CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413)
  • CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414)
  • CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827)
  • CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996)
  • CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535)
  • CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534)
  • CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255)
  • CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252)
  • CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247)
  • CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
  • CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830)
  • CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035)
  • CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034)
  • CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056)
  • CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in objdump (bsc#1120640)
  • CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772)

  • enable xtensa architecture (Tensilica lc6 and related)
  • Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913).
  • Fixed some LTO build issues (bsc#1133131 bsc#1133232).
  • riscv: Don't check ABI flags if no code section
  • Fixed a segfault in ld when building some versions of pacemaker (bsc#1154025, bsc#1154016).
  • Add avr, epiphany and rx to target_list so that the common binutils can handle all objects we can create with crosses (bsc#1152590).

Update to binutils 2.32:
  • The binutils now support for the C-SKY processor series.
  • The x86 assembler now supports a -mvexwig=[0|1] option to control encoding of VEX.W-ignored (WIG) VEX instructions. It also has a new -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property notes.
  • The MIPS assembler now supports the Loongson EXTensions R2 (EXT2), the Loongson EXTensions (EXT) instructions, the Loongson Content Address Memory (CAM) ASE and the Loongson MultiMedia extensions Instructions (MMI) ASE.
  • The addr2line, c++filt, nm and objdump tools now have a default limit on the maximum amount of recursion that is allowed whilst demangling strings. This limit can be disabled if necessary.
  • Objdump's --disassemble option can now take a parameter, specifying the starting symbol for disassembly. Disassembly will continue from this symbol up to the next symbol or the end of the function.
  • The BFD linker will now report property change in linker map file when merging GNU properties.
  • The BFD linker's -t option now doesn't report members within archives, unless -t is given twice. This makes it more useful when generating a list of files that should be packaged for a linker bug report.
  • The GOLD linker has improved warning messages for relocations that refer to discarded sections.

  • Improve relro support on s390 [fate#326356]
  • Fix broken debug symbols (bsc#1118644)
  • Handle ELF compressed header alignment correctly.

Patch Instructions:

To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise Module for Packagehub Subpackages 15:
    zypper in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-2019-2780=1
  • SUSE Linux Enterprise Module for Open Buildservice Development Tools 15:
    zypper in -t patch SUSE-SLE-Module-Development-Tools-OBS-15-2019-2780=1
  • SUSE Linux Enterprise Module for Development Tools 15:
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-2019-2780=1
  • SUSE Linux Enterprise Module for Basesystem 15:
    zypper in -t patch SUSE-SLE-Module-Basesystem-15-2019-2780=1

Package List:

  • SUSE Linux Enterprise Module for Packagehub Subpackages 15 (aarch64 ppc64le s390x x86_64):
    • binutils-debuginfo-2.32-6.8.1
    • binutils-debugsource-2.32-6.8.1
    • binutils-gold-2.32-6.8.1
    • binutils-gold-debuginfo-2.32-6.8.1
  • SUSE Linux Enterprise Module for Open Buildservice Development Tools 15 (aarch64 ppc64le s390x x86_64):
    • binutils-debuginfo-2.32-6.8.1
    • binutils-debugsource-2.32-6.8.1
    • binutils-gold-2.32-6.8.1
    • binutils-gold-debuginfo-2.32-6.8.1
    • cross-arm-binutils-2.32-6.8.1
    • cross-arm-binutils-debuginfo-2.32-6.8.1
    • cross-arm-binutils-debugsource-2.32-6.8.1
    • cross-avr-binutils-2.32-6.8.1
    • cross-avr-binutils-debuginfo-2.32-6.8.1
    • cross-avr-binutils-debugsource-2.32-6.8.1
    • cross-epiphany-binutils-2.32-6.8.1
    • cross-epiphany-binutils-debuginfo-2.32-6.8.1
    • cross-epiphany-binutils-debugsource-2.32-6.8.1
    • cross-hppa-binutils-2.32-6.8.1
    • cross-hppa-binutils-debuginfo-2.32-6.8.1
    • cross-hppa-binutils-debugsource-2.32-6.8.1
    • cross-hppa64-binutils-2.32-6.8.1
    • cross-hppa64-binutils-debuginfo-2.32-6.8.1
    • cross-hppa64-binutils-debugsource-2.32-6.8.1
    • cross-i386-binutils-2.32-6.8.1
    • cross-i386-binutils-debuginfo-2.32-6.8.1
    • cross-i386-binutils-debugsource-2.32-6.8.1
    • cross-ia64-binutils-2.32-6.8.1
    • cross-ia64-binutils-debuginfo-2.32-6.8.1
    • cross-ia64-binutils-debugsource-2.32-6.8.1
    • cross-m68k-binutils-2.32-6.8.1
    • cross-m68k-binutils-debuginfo-2.32-6.8.1
    • cross-m68k-binutils-debugsource-2.32-6.8.1
    • cross-mips-binutils-2.32-6.8.1
    • cross-mips-binutils-debuginfo-2.32-6.8.1
    • cross-mips-binutils-debugsource-2.32-6.8.1
    • cross-ppc-binutils-2.32-6.8.1
    • cross-ppc-binutils-debuginfo-2.32-6.8.1
    • cross-ppc-binutils-debugsource-2.32-6.8.1
    • cross-ppc64-binutils-2.32-6.8.1
    • cross-ppc64-binutils-debuginfo-2.32-6.8.1
    • cross-ppc64-binutils-debugsource-2.32-6.8.1
    • cross-riscv64-binutils-2.32-6.8.1
    • cross-riscv64-binutils-debuginfo-2.32-6.8.1
    • cross-riscv64-binutils-debugsource-2.32-6.8.1
    • cross-rx-binutils-2.32-6.8.1
    • cross-rx-binutils-debuginfo-2.32-6.8.1
    • cross-rx-binutils-debugsource-2.32-6.8.1
    • cross-s390-binutils-2.32-6.8.1
    • cross-s390-binutils-debuginfo-2.32-6.8.1
    • cross-s390-binutils-debugsource-2.32-6.8.1
    • cross-sparc-binutils-2.32-6.8.1
    • cross-sparc-binutils-debuginfo-2.32-6.8.1
    • cross-sparc-binutils-debugsource-2.32-6.8.1
    • cross-sparc64-binutils-2.32-6.8.1
    • cross-sparc64-binutils-debuginfo-2.32-6.8.1
    • cross-sparc64-binutils-debugsource-2.32-6.8.1
    • cross-spu-binutils-2.32-6.8.1
    • cross-spu-binutils-debuginfo-2.32-6.8.1
    • cross-spu-binutils-debugsource-2.32-6.8.1
  • SUSE Linux Enterprise Module for Development Tools 15 (x86_64):
    • binutils-debugsource-2.32-6.8.1
    • binutils-devel-32bit-2.32-6.8.1
  • SUSE Linux Enterprise Module for Basesystem 15 (aarch64 ppc64le s390x x86_64):
    • binutils-2.32-6.8.1
    • binutils-debuginfo-2.32-6.8.1
    • binutils-debugsource-2.32-6.8.1
    • binutils-devel-2.32-6.8.1