SB2018122014 - Denial of service in libarchive
Published: December 27, 2018 Updated: December 27, 2018
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 4 secuirty vulnerabilities.
1) Double-free error (CVE-ID: CVE-2018-1000877)
The vulnerability allows a remote attacker to cause DoS condition.
The vulnerability exists due to double-free error in RAR decoder - libarchive/archive_read_support_format_rar.c, parse_codes(), realloc(rar->lzss.window, new_size) with new_size = 0. A remote attacker can trick the victim into opening a specially crafted RAR archive and cause the service to crash.
2) Use-after-free error (CVE-ID: CVE-2018-1000878)
The vulnerability allows a remote attacker to cause DoS condition.
The vulnerability exists due to use-after-free error in RAR decoder - libarchive/archive_read_support_format_rar.c. A remote attacker can trick the victim into opening a specially crafted RAR archive and cause the service to crash.
3) NULL pointer dereference (CVE-ID: CVE-2018-1000879)
The vulnerability allows a remote attacker to cause DoS condition.
The vulnerability exists due to NULL Pointer Dereference vulnerability in ACL parser - libarchive/archive_acl.c, archive_acl_from_text_l(). A remote attacker can trick the victim into opening a specially crafted RAR archive and cause the service to crash.
4) Improper input validation (CVE-ID: CVE-2018-1000880)
The vulnerability allows a remote attacker to cause DoS condition.
The vulnerability exists due to insufficient validation of user-supplied input in WARC parser - libarchive/archive_read_support_format_warc.c, _warc_read() that can result in DoS - quasi-infinite run time and disk usage from tiny file. A remote attacker can trick the victim into opening a specially crafted RAR archive and cause the service to crash.
Remediation
Install update from vendor's website.
References
- https://github.com/libarchive/libarchive/pull/1105
- https://github.com/libarchive/libarchive/pull/1105/commits/021efa522ad729ff0f5806c4ce53e4a6cc1daa31
- https://github.com/libarchive/libarchive/pull/1105/commits/bfcfe6f04ed20db2504db8a254d1f40a1d84eb28
- https://github.com/libarchive/libarchive/pull/1105/commits/15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175