{"id":"DEBIAN-CVE-2026-103060","details":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in erlang rebar3 allows a malicious package publisher to delete a directory outside the project's _build directory and extract package files into it when a developer fetches dependencies.  A package release's dependencies in a Hex registry carry an app field that names the dependency's OTP application. rebar3 uses this field as the dependency's name without validating it (rebar_packages:parse_deps/1) and builds the dependency's directory from that name (rebar_app_utils:dep_to_app/7). rebar_fetch:download_source_online/2 deletes that directory with rm -rf and moves the fetched package into it. hex.pm didn't restrict the field to a directory name before 2026-10-12, so a publisher could set it to a value such as ../../../../target. When a project depends on such a release directly or transitively, rebar3 get-deps deletes the directory the name resolves to and writes the dependency's files there. This happens before the dependency's own rebar.config.script is evaluated, and get-deps compiles nothing.  This issue affects rebar3: from 3.7.0-rc1 before 3.27.2.","modified":"2026-10-23T17:47:36.660196601Z","published":"2026-10-12T16:17:00.873Z","upstream":["CVE-2026-103060"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2026-103060"}],"affected":[{"package":{"name":"rebar3","ecosystem":"Debian:12","purl":"pkg:deb/debian/rebar3?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.19.0-1","3.23.0-1","3.23.0-2","3.23.0-3","3.24.0-1","3.25.1-1","3.26.0-1","3.27.0-1","3.27.0-2","3.27.0-3","3.27.0-4","3.27.0-5","3.27.0-6","3.27.3-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-103060.json"}},{"package":{"name":"rebar3","ecosystem":"Debian:13","purl":"pkg:deb/debian/rebar3?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.24.0-1","3.25.1-1","3.26.0-1","3.27.0-1","3.27.0-2","3.27.0-3","3.27.0-4","3.27.0-5","3.27.0-6","3.27.3-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-103060.json"}},{"package":{"name":"rebar3","ecosystem":"Debian:14","purl":"pkg:deb/debian/rebar3?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.27.3-1"}]}],"versions":["3.24.0-1","3.25.1-1","3.26.0-1","3.27.0-1","3.27.0-2","3.27.0-3","3.27.0-4","3.27.0-5","3.27.0-6"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-103060.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"}]}