CVE-2026-103060 Path traversal in rebar3 via unvalidated dependency app names
A malicious package publisher can delete arbitrary directories and write files outside the project build directory when developers fetch dependencies using rebar3.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-103060?
CVE-2026-103060 is a high-severity path traversal vulnerability in erlang rebar3, published on 12 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-22
Which versions are affected by CVE-2026-103060?
How do I fix CVE-2026-103060?
Upgrade to a fixed version.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-103060 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-103060 exists.
Sources
Also known as DEBIAN-CVE-2026-103060, EEF-CVE-2026-103060, GHSA-6ggr-r7mh-2mv8, UBUNTU-CVE-2026-103060.