Arch Linux Security Advisory ASA-201903-9
========================================
Severity: Medium
Date    : 2019-03-18
CVE-ID  : CVE-2019-7148 CVE-2019-7149 CVE-2019-7150 CVE-2019-7664
          CVE-2019-7665
Package : libelf
Type    : denial of service
Remote  : Yes
Link    : https://security.archlinux.org/AVG-863

Summary
======
The package libelf before version 0.176-1 is vulnerable to denial of
service.

Resolution
=========
Upgrade to 0.176-1.

# pacman -Syu "libelf>=0.176-1"

The problems have been fixed upstream in version 0.176.

Workaround
=========
None.

Description
==========
- CVE-2019-7148 (denial of service)

An attempted excessive memory allocation was discovered in the function
read_long_names in elf_begin.c in libelf in elfutils <= 0.175. Remote
attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory
exception.

- CVE-2019-7149 (denial of service)

A heap-based buffer over-read was discovered in the function
read_srclines in dwarf_getsrclines.c in libdw in elfutils 0.175. A
crafted input can cause segmentation faults, leading to denial-of-service.

- CVE-2019-7150 (denial of service)

An issue was discovered in elfutils 0.175. A segmentation fault can
occur in the function elf64_xlatetom in libelf/elf32_xlatetom.c, due to
dwfl_segment_report_module not checking whether the dyn data read from
a core file is truncated. A crafted input can cause a program crash,
leading to denial-of-service.

- CVE-2019-7664 (denial of service)

In elfutils 0.175, a negative-sized memcpy is attempted in elf_cvt_note
in libelf/note_xlate.h because of an incorrect overflow check. Crafted
elf input causes a segmentation fault, leading to denial of service
(program crash).

- CVE-2019-7665 (denial of service)

In elfutils 0.175, a heap-based buffer over-read was discovered in the
function elf32_xlatetom in elf32_xlatetom.c in libelf. A crafted ELF
input can cause a segmentation fault leading to denial of service
(program crash) because ebl_core_note does not reject malformed core
file notes.

Impact
=====
A remote attacker is able to crash a program that uses libelf by
providing it with a crafted ELF file.

References
=========
https://sourceware.org/bugzilla/show_bug.cgi?id=24085
https://sourceware.org/bugzilla/show_bug.cgi?id=24102
https://sourceware.org/bugzilla/show_bug.cgi?id=24103
https://sourceware.org/bugzilla/show_bug.cgi?id=24084
https://sourceware.org/legacy-ml/elfutils-devel/2019-q1/msg00049.html
https://sourceware.org/bugzilla/show_bug.cgi?id=24089
https://security.archlinux.org/CVE-2019-7148
https://security.archlinux.org/CVE-2019-7149
https://security.archlinux.org/CVE-2019-7150
https://security.archlinux.org/CVE-2019-7664
https://security.archlinux.org/CVE-2019-7665

ArchLinux: 201903-9: libelf: denial of service

March 20, 2019

Summary

- CVE-2019-7148 (denial of service) An attempted excessive memory allocation was discovered in the function read_long_names in elf_begin.c in libelf in elfutils <= 0.175. Remote attackers could leverage this vulnerability to cause a denial-of-service via crafted elf input, which leads to an out-of-memory exception.
- CVE-2019-7149 (denial of service)
A heap-based buffer over-read was discovered in the function read_srclines in dwarf_getsrclines.c in libdw in elfutils 0.175. A crafted input can cause segmentation faults, leading to denial-of-service.
- CVE-2019-7150 (denial of service)
An issue was discovered in elfutils 0.175. A segmentation fault can occur in the function elf64_xlatetom in libelf/elf32_xlatetom.c, due to dwfl_segment_report_module not checking whether the dyn data read from a core file is truncated. A crafted input can cause a program crash, leading to denial-of-service.
- CVE-2019-7664 (denial of service)
In elfutils 0.175, a negative-sized memcpy is attempted in elf_cvt_note in libelf/note_xlate.h because of an incorrect overflow check. Crafted elf input causes a segmentation fault, leading to denial of service (program crash).
- CVE-2019-7665 (denial of service)
In elfutils 0.175, a heap-based buffer over-read was discovered in the function elf32_xlatetom in elf32_xlatetom.c in libelf. A crafted ELF input can cause a segmentation fault leading to denial of service (program crash) because ebl_core_note does not reject malformed core file notes.

Resolution

Upgrade to 0.176-1. # pacman -Syu "libelf>=0.176-1"
The problems have been fixed upstream in version 0.176.

References

https://sourceware.org/bugzilla/show_bug.cgi?id=24085 https://sourceware.org/bugzilla/show_bug.cgi?id=24102 https://sourceware.org/bugzilla/show_bug.cgi?id=24103 https://sourceware.org/bugzilla/show_bug.cgi?id=24084 https://sourceware.org/legacy-ml/elfutils-devel/2019-q1/msg00049.html https://sourceware.org/bugzilla/show_bug.cgi?id=24089 https://security.archlinux.org/CVE-2019-7148 https://security.archlinux.org/CVE-2019-7149 https://security.archlinux.org/CVE-2019-7150 https://security.archlinux.org/CVE-2019-7664 https://security.archlinux.org/CVE-2019-7665

Severity
CVE-2019-7665
Package : libelf
Type : denial of service
Remote : Yes
Link : https://security.archlinux.org/AVG-863

Workaround

None.

Related News