Path traversal in pacman - CVE-2019-9686

 

Path traversal in pacman - CVE-2019-9686

Published: March 11, 2019 / Updated: July 17, 2020


Vulnerability identifier: #VU31147
CSH Severity: High
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/U:Amber
CVE-ID: CVE-2019-9686
CWE-ID: CWE-22
Exploitation vector: Remote access
Exploit availability: No public exploit available
Vendor: Arch Linux
Affected software:
pacman

Detailed vulnerability description

The vulnerability allows a remote non-authenticated attacker to execute arbitrary code.

pacman before 5.1.3 allows directory traversal when installing a remote package via a specified URL "pacman -U <url>" due to an unsanitized file name received from a Content-Disposition header. pacman renames the downloaded package file to match the name given in this header. However, pacman did not sanitize this name, which may contain slashes, before calling rename(). A malicious server (or a network MitM if downloading over HTTP) can send a Content-Disposition header to make pacman place the file anywhere in the filesystem, potentially leading to arbitrary root code execution. Notably, this bypasses pacman's package signature checking. This occurs in curl_download_internal in lib/libalpm/dload.c.


How to mitigate CVE-2019-9686

Install update from vendor's website.

Sources