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…
Published 7 y ago · modified 4 mo ago · JSON
Summary
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 (EPSS)
3.38% probability of exploitation in the next 30 days, higher than 89% of all scored CVEs.
CVSS scores
| Assigned by | Version | Score | Vector |
|---|---|---|---|
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 9.3 | AV:N/AC:M/Au:N/C:C/I:C/A:C |
Classification
- Weakness
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
- git.archlinux.org /pacman.git/commit/?id=d197d8ab82cf10650487518fb968067897a12775 · x_refsource_MISC, x_transferred
- git.archlinux.org /pacman.git/commit/?h=release/5.1.x&id=1bf767234363f7ad5933af3f7ce267c123017bde · x_refsource_MISC, x_transferred
- git.archlinux.org /pacman.git/commit/?id=9702703633bec2c007730006de2aeec8587dfc84 · x_refsource_MISC, x_transferred
Sources
- CVE List: CVE-2019-9686
- NVD: CVE-2019-9686
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.