Vulnerability Details CVE-2019-9686
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.005
EPSS Ranking 65.8%
CVSS Severity
CVSS v3 Score 8.8
CVSS v2 Score 9.3
Products affected by CVE-2019-9686
-
cpe:2.3:a:pacman_project:pacman:3.0.0
-
cpe:2.3:a:pacman_project:pacman:3.0.1
-
cpe:2.3:a:pacman_project:pacman:3.0.2
-
cpe:2.3:a:pacman_project:pacman:3.0.3
-
cpe:2.3:a:pacman_project:pacman:3.0.4
-
cpe:2.3:a:pacman_project:pacman:3.0.5
-
cpe:2.3:a:pacman_project:pacman:3.0.6
-
cpe:2.3:a:pacman_project:pacman:3.1.0
-
cpe:2.3:a:pacman_project:pacman:3.1.1
-
cpe:2.3:a:pacman_project:pacman:3.1.2
-
cpe:2.3:a:pacman_project:pacman:3.1.3
-
cpe:2.3:a:pacman_project:pacman:3.1.4
-
cpe:2.3:a:pacman_project:pacman:3.2.0
-
cpe:2.3:a:pacman_project:pacman:3.2.1
-
cpe:2.3:a:pacman_project:pacman:3.2.2
-
cpe:2.3:a:pacman_project:pacman:3.3.0
-
cpe:2.3:a:pacman_project:pacman:3.3.1
-
cpe:2.3:a:pacman_project:pacman:3.3.2
-
cpe:2.3:a:pacman_project:pacman:3.3.3
-
cpe:2.3:a:pacman_project:pacman:3.4.0
-
cpe:2.3:a:pacman_project:pacman:3.4.1
-
cpe:2.3:a:pacman_project:pacman:3.4.2
-
cpe:2.3:a:pacman_project:pacman:3.4.3
-
cpe:2.3:a:pacman_project:pacman:3.5.0
-
cpe:2.3:a:pacman_project:pacman:3.5.1
-
cpe:2.3:a:pacman_project:pacman:3.5.2
-
cpe:2.3:a:pacman_project:pacman:3.5.3
-
cpe:2.3:a:pacman_project:pacman:3.5.4
-
cpe:2.3:a:pacman_project:pacman:4.0.0
-
cpe:2.3:a:pacman_project:pacman:4.0.1
-
cpe:2.3:a:pacman_project:pacman:4.0.2
-
cpe:2.3:a:pacman_project:pacman:4.0.3
-
cpe:2.3:a:pacman_project:pacman:4.1.0
-
cpe:2.3:a:pacman_project:pacman:4.1.1
-
cpe:2.3:a:pacman_project:pacman:4.1.2
-
cpe:2.3:a:pacman_project:pacman:4.2.0
-
cpe:2.3:a:pacman_project:pacman:4.2.1
-
cpe:2.3:a:pacman_project:pacman:5.0.0
-
cpe:2.3:a:pacman_project:pacman:5.0.1
-
cpe:2.3:a:pacman_project:pacman:5.0.2
-
cpe:2.3:a:pacman_project:pacman:5.1.0
-
cpe:2.3:a:pacman_project:pacman:5.1.1
-
cpe:2.3:a:pacman_project:pacman:5.1.2