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...
HighCVSS 8.8
EPSS 3.4%
- Published
- Updated
- Exploit status
- No public exploit known
Description
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.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| pacman project pacman | < 5.1.3 | 5.1.3 |
| alpine/pacman(Alpine:v3.11) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.12) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.13) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.14) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.15) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.16) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.17) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.18) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.19) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.20) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.21) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.22) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.23) | < 5.1.3-r0 | 5.1.3-r0 |
| alpine/pacman(Alpine:v3.24) | < 5.1.3-r0 | 5.1.3-r0 |
References
- git.archlinux.org mailing-list third-party-advisory
- git.archlinux.org mailing-list patch third-party-advisory
- git.archlinux.org mailing-list patch third-party-advisory
- security.alpinelinux.org vendor-advisory