Every CVE Search/ Get API key

CVE-2019-9686

pacman before 5.1.3 allows directory traversal when installing a remote package via a specified...

8.8 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

3.38%Up 1.9 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 8.8

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.

Record
CVE-2019-9686
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
9.3 HighAV:N/AC:M/Au:N/C:C/I:C/A:C
Weakness
CWE-22
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2019-9686
Updated
2026-11-02
EUVDEUVD-2019-19052 No score

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.

Record
EUVD-2019-19052
Updated
2026-11-03
GitHub AdvisoriesGHSA-2fr8-9j8m-w8vx 8.8

pacman before 5.1.3 allows directory traversal when installing a remote package via a specified...

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.

Record
GHSA-2fr8-9j8m-w8vx
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-22
Updated
2026-11-02
OSVALPINE-CVE-2019-9686 8.8

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.

Record
ALPINE-CVE-2019-9686
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-03

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pacman
Alpine:v3.11
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.12
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.13
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.14
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.15
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.16
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.17
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.18
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.19
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.20
before 5.1.3-r0
5.1.3-r0
Show 4 moreShow less
Affected packages
PackageAffectedFixed
pacman
Alpine:v3.21
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.22
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.23
before 5.1.3-r0
5.1.3-r0
pacman
Alpine:v3.24
before 5.1.3-r0
5.1.3-r0

History

History
RecordedChangedSources
affected, aliases, facts, referencesOSV
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-9686 is a high vulnerability (CVSS 8.8) in Pacman Project Pacman, published March 11, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.38%, the 88th percentile. Fixed in pacman 5.1.3-r0.

References

MoveEnter Open