openSUSE Security Update: Security update for binutils
______________________________________________________________________________
Announcement ID: openSUSE-SU-2018:3323-1
Rating: moderate
References: #1065643 #1065689 #1065693 #1068640 #1068643
#1068887 #1068888 #1068950 #1069176 #1069202
#1075418 #1077745 #1079103 #1079741 #1080556
#1081527 #1083528 #1083532 #1085784 #1086608
#1086784 #1086786 #1086788 #1090997 #1091015
#1091365 #1091368
Cross-References: CVE-2017-15938 CVE-2017-15939 CVE-2017-15996
CVE-2017-16826 CVE-2017-16827 CVE-2017-16828
CVE-2017-16829 CVE-2017-16830 CVE-2017-16831
CVE-2017-16832 CVE-2018-10372 CVE-2018-10373
CVE-2018-10534 CVE-2018-10535 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
Affected Products:
openSUSE Leap 15.0
______________________________________________________________________________
An update that solves 25 vulnerabilities and has two fixes
is now available.
Description:
This update for binutils to version 2.31 fixes the following issues:
These security issues were fixed:
– CVE-2017-15996: readelf allowed remote attackers to cause a denial of
service (excessive memory allocation) or possibly have unspecified other
impact via a crafted ELF file that triggered a buffer overflow on fuzzed
archive header (bsc#1065643)
– CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd)
mishandled NULL files in a .debug_line file table, which allowed remote
attackers to cause a denial of service (NULL pointer dereference and
application crash) via a crafted ELF file, related to concat_filename
(bsc#1065689)
– CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd)
miscalculated DW_FORM_ref_addr die refs in the case of a relocatable
object file, which allowed remote attackers to cause a denial of service
(find_abstract_instance_name invalid memory read, segmentation fault,
and application crash) (bsc#1065693)
– CVE-2017-16826: The coff_slurp_line_table function the Binary File
Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause
a denial of service (invalid memory access and application crash) or
possibly have unspecified other impact via a crafted PE file
(bsc#1068640)
– CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File
Descriptor (BFD) library (aka libbfd) did not validate size and offset
values in the data dictionary, which allowed remote attackers to cause a
denial of service (segmentation violation and application crash) or
possibly have unspecified other impact via a crafted PE file
(bsc#1068643)
– CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did
not validate the symbol count, which allowed remote attackers to cause a
denial of service (integer overflow and application crash, or excessive
memory allocation) or possibly have unspecified other impact via a
crafted PE file (bsc#1068887)
– CVE-2017-16830: The print_gnu_property_note function did not have
integer-overflow protection on 32-bit platforms, which allowed remote
attackers to cause a denial of service (segmentation violation and
application crash) or possibly have unspecified other impact via a
crafted ELF file (bsc#1068888)
– CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the Binary
File Descriptor (BFD) library (aka libbfd) did not prevent negative
pointers, which allowed remote attackers to cause a denial of service
(out-of-bounds read and application crash) or possibly have unspecified
other impact via a crafted ELF file (bsc#1068950)
– CVE-2017-16828: The display_debug_frames function allowed remote
attackers to cause a denial of service (integer overflow and heap-based
buffer over-read, and application crash) or possibly have unspecified
other impact via a crafted ELF file (bsc#1069176)
– CVE-2017-16827: The aout_get_external_symbols function in the Binary
File Descriptor (BFD) library (aka libbfd) allowed remote attackers to
cause a denial of service (slurp_symtab invalid free and application
crash) or possibly have unspecified other impact via a crafted ELF file
(bsc#1069202)
– CVE-2018-6323: The elf_object_p function in the Binary File Descriptor
(BFD) library (aka libbfd) had an unsigned integer overflow because
bfd_size_type multiplication is not used. A crafted ELF file allowed
remote attackers to cause a denial of service (application crash) or
possibly have unspecified
other impact (bsc#1077745)
– CVE-2018-6543: Prevent integer overflow in the function
load_specific_debug_section() which resulted in `malloc()` with 0 size.
A crafted ELF file allowed remote attackers to cause a denial of service
(application crash) or possibly have unspecified other impact
(bsc#1079103)
– CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary File
Descriptor (BFD) library (aka libbfd) had an unchecked strnlen
operation. Remote attackers could have leveraged this vulnerability to
cause a denial of service (segmentation fault) via a crafted ELF file
(bsc#1079741)
– CVE-2018-6872: The elf_parse_notes function in the Binary File
Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause
a denial of service (out-of-bounds read and segmentation violation) via
a note with a large alignment (bsc#1080556)
– CVE-2018-7208: In the coff_pointerize_aux function in the Binary File
Descriptor (BFD) library (aka libbfd) an index was not validated, which
allowed remote attackers to cause a denial of service (segmentation
fault) or possibly have unspecified other impact via a crafted file, as
demonstrated by objcopy of a COFF object (bsc#1081527)
– CVE-2018-7570: The assign_file_positions_for_non_load_sections function
in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote
attackers to cause a denial of service (NULL pointer dereference and
application crash) via an ELF file with a RELRO segment that lacks a
matching LOAD segment, as demonstrated by objcopy (bsc#1083528)
– CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd)
allowed remote attackers to cause a denial of service (integer underflow
or overflow, and application crash) via an ELF file with a corrupt DWARF
FORM block, as demonstrated by nm (bsc#1083532)
– CVE-2018-8945: The bfd_section_from_shdr function in the Binary File
Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause
a denial of service (segmentation fault) via a large attribute section
(bsc#1086608)
– CVE-2018-7643: The display_debug_ranges function allowed remote
attackers to cause a denial of service (integer overflow and application
crash) or possibly have unspecified other impact via a crafted ELF file,
as demonstrated by
objdump (bsc#1086784)
– CVE-2018-7642: The swap_std_reloc_in function in the Binary File
Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause
a denial of service (aout_32_swap_std_reloc_out NULL pointer dereference
and application crash) via a crafted ELF file, as demonstrated by
objcopy (bsc#1086786)
– CVE-2018-7568: The parse_die function in the Binary File Descriptor
(BFD) library (aka libbfd) allowed remote attackers to cause a denial of
service (integer overflow and application crash) via an ELF file with
corrupt dwarf1 debug information, as demonstrated by nm (bsc#1086788)
– CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD)
library (aka libbfd) allowed remote attackers to cause a denial of
service (NULL pointer dereference and application crash) via a crafted
binary file, as demonstrated by nm-new (bsc#1090997)
– CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause a
denial of service (heap-based buffer over-read and application crash)
via a crafted binary file, as demonstrated by readelf (bsc#1091015)
– CVE-2018-10535: The ignore_section_sym function in the Binary File
Descriptor (BFD) library (aka libbfd) did not validate the
output_section pointer in the case of a symtab entry with a “SECTION”
type that has a “0” value, which allowed remote attackers to cause a
denial of service (NULL pointer dereference and application crash) via a
crafted file, as demonstrated by objcopy (bsc#1091365)
– CVE-2018-10534: The _bfd_XX_bfd_copy_private_bfd_data_common function in
the Binary File Descriptor (BFD) library (aka libbfd) processesed a
negative Data Directory size with an unbounded loop that increased the
value of (external_IMAGE_DEBUG_DIRECTORY) *edd so that the address
exceeded its own memory region, resulting in an out-of-bounds memory
write, as demonstrated by
objcopy copying private info with
_bfd_pex64_bfd_copy_private_bfd_data_common in pex64igen.c (bsc#1091368)
These non-security issues were fixed:
– The AArch64 port now supports showing disassembly notes which are
emitted when inconsistencies are found with the instruction that may
result in the instruction being invalid. These can be turned on with
the option -M notes to objdump.
– The AArch64 port now emits warnings when a combination of an instruction
and a named register could be invalid.
– Added O modifier to ar to display member offsets inside an archive
– The ADR and ADRL pseudo-instructions supported by the ARM assembler now
only set the bottom bit of the address of thumb function symbols if the
-mthumb-interwork command line option is active.
– Add –generate-missing-build-notes=[yes|no] option to create (or not)
GNU Build Attribute notes if none are present in the input sources. Add
a
–enable-generate-build-notes=[yes|no] configure time option to set the
default behaviour. Set the default if the configure option is not used
to “no”.
– Remove -mold-gcc command-line option for x86 targets.
– Add -O[2|s] command-line options to x86 assembler to enable alternate
shorter instruction encoding.
– Add support for .nops directive. It is currently supported only for x86
targets.
– Speed up direct linking with DLLs for Cygwin and Mingw targets.
– Add a configure option –enable-separate-code to decide whether
-z separate-code should be enabled in ELF linker by default. Default to
yes for Linux/x86 targets. Note that -z separate-code can increase
disk and memory size.
– RISC-V: Fix symbol address problem with versioned symbols
– Restore riscv64-elf cross prefix via symlinks
– Fix pacemaker libqb problem with section start/stop symbols
– RISC-V: Don’t enable relaxation in relocatable link
– Prevent linking faiures on i386 with assertion (bsc#1085784)
– Fix symbol size bug when relaxation deletes bytes
– Add –debug-dump=links option to readelf and –dwarf=links option to
objdump which displays the contents of any .gnu_debuglink or
.gnu_debugaltlink sections. Add a –debug-dump=follow-links option to
readelf and a –dwarf=follow-links
option to objdump which causes indirect links into separate debug info
files to be followed when dumping other DWARF sections.
– Add support for loaction views in DWARF debug line information.
– Add -z separate-code to generate separate code PT_LOAD segment.
– Add “-z undefs” command line option as the inverse of the “-z defs”
option.
– Add -z globalaudit command line option to force audit libraries to be
run for every dynamic object loaded by an executable – provided that the
loader supports this functionality.
– Tighten linker script grammar around file name specifiers to prevent the
use
of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames. These
would previously be accepted but had no effect.
– The EXCLUDE_FILE directive can now be placed within any SORT_* directive
within input section lists.
– Fix linker relaxation with –wrap
This update was imported from the SUSE:SLE-15:Update update project.
Patch Instructions:
To install this openSUSE 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:
– openSUSE Leap 15.0:
zypper in -t patch openSUSE-2018-1222=1
Package List:
– openSUSE Leap 15.0 (i586 x86_64):
binutils-2.31-lp150.5.3.1
binutils-debuginfo-2.31-lp150.5.3.1
binutils-debugsource-2.31-lp150.5.3.1
binutils-devel-2.31-lp150.5.3.1
binutils-gold-2.31-lp150.5.3.1
binutils-gold-debuginfo-2.31-lp150.5.3.1
– openSUSE Leap 15.0 (x86_64):
binutils-devel-32bit-2.31-lp150.5.3.1
cross-aarch64-binutils-2.31-lp150.5.3.1
cross-aarch64-binutils-debuginfo-2.31-lp150.5.3.1
cross-aarch64-binutils-debugsource-2.31-lp150.5.3.1
cross-arm-binutils-2.31-lp150.5.3.1
cross-arm-binutils-debuginfo-2.31-lp150.5.3.1
cross-arm-binutils-debugsource-2.31-lp150.5.3.1
cross-avr-binutils-2.31-lp150.5.3.1
cross-avr-binutils-debuginfo-2.31-lp150.5.3.1
cross-avr-binutils-debugsource-2.31-lp150.5.3.1
cross-epiphany-binutils-2.31-lp150.5.3.1
cross-epiphany-binutils-debuginfo-2.31-lp150.5.3.1
cross-epiphany-binutils-debugsource-2.31-lp150.5.3.1
cross-hppa-binutils-2.31-lp150.5.3.1
cross-hppa-binutils-debuginfo-2.31-lp150.5.3.1
cross-hppa-binutils-debugsource-2.31-lp150.5.3.1
cross-hppa64-binutils-2.31-lp150.5.3.1
cross-hppa64-binutils-debuginfo-2.31-lp150.5.3.1
cross-hppa64-binutils-debugsource-2.31-lp150.5.3.1
cross-i386-binutils-2.31-lp150.5.3.1
cross-i386-binutils-debuginfo-2.31-lp150.5.3.1
cross-i386-binutils-debugsource-2.31-lp150.5.3.1
cross-ia64-binutils-2.31-lp150.5.3.1
cross-ia64-binutils-debuginfo-2.31-lp150.5.3.1
cross-ia64-binutils-debugsource-2.31-lp150.5.3.1
cross-m68k-binutils-2.31-lp150.5.3.1
cross-m68k-binutils-debuginfo-2.31-lp150.5.3.1
cross-m68k-binutils-debugsource-2.31-lp150.5.3.1
cross-mips-binutils-2.31-lp150.5.3.1
cross-mips-binutils-debuginfo-2.31-lp150.5.3.1
cross-mips-binutils-debugsource-2.31-lp150.5.3.1
cross-ppc-binutils-2.31-lp150.5.3.1
cross-ppc-binutils-debuginfo-2.31-lp150.5.3.1
cross-ppc-binutils-debugsource-2.31-lp150.5.3.1
cross-ppc64-binutils-2.31-lp150.5.3.1
cross-ppc64-binutils-debuginfo-2.31-lp150.5.3.1
cross-ppc64-binutils-debugsource-2.31-lp150.5.3.1
cross-ppc64le-binutils-2.31-lp150.5.3.1
cross-ppc64le-binutils-debuginfo-2.31-lp150.5.3.1
cross-ppc64le-binutils-debugsource-2.31-lp150.5.3.1
cross-riscv64-binutils-2.31-lp150.5.3.1
cross-riscv64-binutils-debuginfo-2.31-lp150.5.3.1
cross-riscv64-binutils-debugsource-2.31-lp150.5.3.1
cross-rx-binutils-2.31-lp150.5.3.1
cross-rx-binutils-debuginfo-2.31-lp150.5.3.1
cross-rx-binutils-debugsource-2.31-lp150.5.3.1
cross-s390-binutils-2.31-lp150.5.3.1
cross-s390-binutils-debuginfo-2.31-lp150.5.3.1
cross-s390-binutils-debugsource-2.31-lp150.5.3.1
cross-s390x-binutils-2.31-lp150.5.3.1
cross-s390x-binutils-debuginfo-2.31-lp150.5.3.1
cross-s390x-binutils-debugsource-2.31-lp150.5.3.1
cross-sparc-binutils-2.31-lp150.5.3.1
cross-sparc-binutils-debuginfo-2.31-lp150.5.3.1
cross-sparc-binutils-debugsource-2.31-lp150.5.3.1
cross-sparc64-binutils-2.31-lp150.5.3.1
cross-sparc64-binutils-debuginfo-2.31-lp150.5.3.1
cross-sparc64-binutils-debugsource-2.31-lp150.5.3.1
cross-spu-binutils-2.31-lp150.5.3.1
cross-spu-binutils-debuginfo-2.31-lp150.5.3.1
cross-spu-binutils-debugsource-2.31-lp150.5.3.1
References:
https://www.suse.com/security/cve/CVE-2017-15938.html
https://www.suse.com/security/cve/CVE-2017-15939.html
https://www.suse.com/security/cve/CVE-2017-15996.html
https://www.suse.com/security/cve/CVE-2017-16826.html
https://www.suse.com/security/cve/CVE-2017-16827.html
https://www.suse.com/security/cve/CVE-2017-16828.html
https://www.suse.com/security/cve/CVE-2017-16829.html
https://www.suse.com/security/cve/CVE-2017-16830.html
https://www.suse.com/security/cve/CVE-2017-16831.html
https://www.suse.com/security/cve/CVE-2017-16832.html
https://www.suse.com/security/cve/CVE-2018-10372.html
https://www.suse.com/security/cve/CVE-2018-10373.html
https://www.suse.com/security/cve/CVE-2018-10534.html
https://www.suse.com/security/cve/CVE-2018-10535.html
https://www.suse.com/security/cve/CVE-2018-6323.html
https://www.suse.com/security/cve/CVE-2018-6543.html
https://www.suse.com/security/cve/CVE-2018-6759.html
https://www.suse.com/security/cve/CVE-2018-6872.html
https://www.suse.com/security/cve/CVE-2018-7208.html
https://www.suse.com/security/cve/CVE-2018-7568.html
https://www.suse.com/security/cve/CVE-2018-7569.html
https://www.suse.com/security/cve/CVE-2018-7570.html
https://www.suse.com/security/cve/CVE-2018-7642.html
https://www.suse.com/security/cve/CVE-2018-7643.html
https://www.suse.com/security/cve/CVE-2018-8945.html
https://bugzilla.suse.com/1065643
https://bugzilla.suse.com/1065689
https://bugzilla.suse.com/1065693
https://bugzilla.suse.com/1068640
https://bugzilla.suse.com/1068643
https://bugzilla.suse.com/1068887
https://bugzilla.suse.com/1068888
https://bugzilla.suse.com/1068950
https://bugzilla.suse.com/1069176
https://bugzilla.suse.com/1069202
https://bugzilla.suse.com/1075418
https://bugzilla.suse.com/1077745
https://bugzilla.suse.com/1079103
https://bugzilla.suse.com/1079741
https://bugzilla.suse.com/1080556
https://bugzilla.suse.com/1081527
https://bugzilla.suse.com/1083528
https://bugzilla.suse.com/1083532
https://bugzilla.suse.com/1085784
https://bugzilla.suse.com/1086608
https://bugzilla.suse.com/1086784
https://bugzilla.suse.com/1086786
https://bugzilla.suse.com/1086788
https://bugzilla.suse.com/1090997
https://bugzilla.suse.com/1091015
https://bugzilla.suse.com/1091365
https://bugzilla.suse.com/1091368
—
To unsubscribe, e-mail: opensuse-security-announce+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-security-announce+help@opensuse.org