Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
9.9
CVE-2026-103060: rebar3 may delete or overwrite files outside project
CVE-2026-103060 · published 3 days ago
Summary
When a developer uses rebar3 to fetch code libraries, a malicious package can specify a path that points outside the project folder. This causes rebar3 to remove or replace files in any location it has permission to access, potentially harming the build environment or server. Update rebar3 to version 3.27.2 or later, or verify dependency names before running get‑deps.
What to do
The CVE record does not list a fixed version. Check the vendor's site or the advisory links below - a fix may already be released.
Affected software
| Vendor | Product | Affected versions |
|---|---|---|
| erlang | rebar3 |
< 3.27.2 < e35282b26e499b1d9e8f30bba9dccd71cd8b02ba |
Original advisory text
Path traversal in rebar3 via unvalidated dependency app names
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.
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.
References
- https://cna.erlef.org/cves/CVE-2026-103060.html URL
- https://github.com/erlang/rebar3/commit/56b7d88975aa8da6446857cfd92de0825024bf63 Patch
- https://github.com/erlang/rebar3/commit/e35282b26e499b1d9e8f30bba9dccd71cd8b02ba Patch
- https://github.com/erlang/rebar3/security/advisories/GHSA-6ggr-r7mh-2mv8 Vendor Advisory
- https://osv.dev/vulnerability/EEF-CVE-2026-103060 URL
- https://github.com URL
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-1030... Vendor Advisory
- https://github.com/erlang/rebar3 Product
- https://nvd.nist.gov/vuln/detail/CVE-2026-103060 Vendor Advisory
Internet-facing
14 days
Internal
At next upgrade
- Not known to be exploited
- Needs hands-on effort to exploit (estimated)
- Gives an attacker full control (estimated)
Severity
9.9
Critical
Type
CWE-22Path Traversal
Timeline
Published12 Oct 2026
Updated15 Oct 2026
First seen12 Oct 2026
Sources
CVE-2026-103060 · NVD
CVE-2026-103060 · MITRE
EEF-CVE-2026-103060 · OSV
GHSA-6ggr-r7mh-2mv8 · GHSA
CVE-2026-103060 · OSV
Track software like this
Free during beta