SB2019112216 - Multiple vulnerabilities in Libarchive
Published: November 22, 2019 Updated: December 30, 2019
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 7 secuirty vulnerabilities.
1) Out-of-bounds read (CVE-ID: CVE-2019-19221)
The vulnerability allows a remote attacker to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition in "archive_wstring_append_from_mbs" in "archive_string.c" because of an incorrect "mbrtowc" or "mbtowc" call. A remote attacker can create a specially crafted archive file, trick the victim into opening it, trigger out-of-bounds read error and read contents of memory on the system.
2) Off-by-one error (CVE-ID: N/A)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to an off-by-one error when in /libarchive/archive_read_disk_entry_from_file.c when working with readlink(2). A remote attacker can pass a specially crafted archive to the application, trigger an off-by-one error and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
3) Input validation error (CVE-ID: N/A)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to insufficient validation of user-supplied input in /libarchive/archive_write.c, related to filters usage. A remote attacker can use a specially crafted archive to perform a denial of service attack.
4) Buffer overflow (CVE-ID: N/A)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error when processing archives in /libarchive/archive_read_support_format_rar5.c in RAR5 reader. The application was using a declared window_size within the supplied archive that lead to memory corruption.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
5) Out-of-bounds read (CVE-ID: N/A)
The vulnerability allows a remote attacker to crash the application.
The vulnerability exists due to a boundary condition when processing archives in ARM filter in /libarchive/archive_read_support_format_rar5.c. A remote attacker can create a specially crafted file, pass it to the application, trigger out-of-bounds read error and crash the application.
6) Out-of-bounds read (CVE-ID: N/A)
The vulnerability allows a remote attacker to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition when processing archives in RAR5 reader within the init_unpack() function in /libarchive/archive_read_support_format_rar5.c, related to window_mask variable. A remote attacker can create a specially crafted file, pass it to the application, trigger out-of-bounds read error and read contents of memory on the system.
7) Heap-based buffer overflow (CVE-ID: N/A)
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error when processing archives within the /libarchive/archive_string.c file. A remote attacker can pass a specially crafted archive to the application, trigger heap-based buffer overflow and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
Remediation
Install update from vendor's website.
References
- https://github.com/libarchive/libarchive/commit/22b1db9d46654afc6f0c28f90af8cdc84a199f41
- https://github.com/libarchive/libarchive/issues/1276
- https://github.com/libarchive/libarchive/releases/tag/v3.4.1
- https://github.com/libarchive/libarchive/commit/1dae5a549fe4ab99fd3a49a9edcf897a7b2b1844
- https://github.com/libarchive/libarchive/issues/351
- https://github.com/libarchive/libarchive/pull/1296
- https://github.com/libarchive/libarchive/pull/1296/commits/c9267d665c30fa78023bd70b8e9c6f02450777e2
- https://github.com/libarchive/libarchive/pull/1217/commits/2331456dc1f83e6b20e656e69fa01b6e30302865
- https://github.com/libarchive/libarchive/pull/1217
- https://github.com/libarchive/libarchive/pull/1212
- https://github.com/mmatuska/libarchive/commit/809f0dc32fff7434aef45a7c688fa285c7208af7
- https://github.com/libarchive/libarchive/commit/4f085eea879e2be745f4d9bf57e8513ae48157f4
- https://github.com/libarchive/libarchive/issues/1298