{"id":"ALPINE-CVE-2019-9686","details":"pacman before 5.1.3 allows directory traversal when installing a remote package via a specified URL \"pacman -U \u003curl\u003e\" 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.","modified":"2026-11-03T06:32:35.648262436Z","published":"2019-03-11T16:29:00.283Z","upstream":["CVE-2019-9686"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2019-9686"}],"affected":[{"package":{"name":"pacman","ecosystem":"Alpine:v3.11","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.12","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.13","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.14","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.15","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.16","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.17","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.18","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.19","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.20","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.21","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}},{"package":{"name":"pacman","ecosystem":"Alpine:v3.24","purl":"pkg:apk/alpine/pacman?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.3-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-9686.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}