Skip to content
OpenAdvisories
Unscored CVE-2019-9686 EUVD-2019-19052GHSA-2fr8-9j8m-w8vx

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 Mar 11, 2019 · Updated Aug 4, 2024 · Assigned by mitre

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.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Alpine v3.24 pacman 5.1.3-r0 —
Alpine v3.23 pacman 5.1.3-r0 —
Alpine v3.22 pacman 5.1.3-r0 —
Alpine v3.21 pacman 5.1.3-r0 —
Alpine v3.20 pacman 5.1.3-r0 —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 pacman 5.1.3-r0 —
Alpine v3.18 pacman 5.1.3-r0 —
Alpine v3.17 pacman 5.1.3-r0 —
Alpine v3.16 pacman 5.1.3-r0 —
Alpine v3.15 pacman 5.1.3-r0 —
Alpine v3.14 pacman 5.1.3-r0 —
Alpine v3.13 pacman 5.1.3-r0 —
Alpine v3.12 pacman 5.1.3-r0 —
Alpine v3.11 pacman 5.1.3-r0 —

References