CVE-2026-103060 Details
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.
A path traversal vulnerability has been identified in Erlang Rebar3, specifically in versions 3.7.0-rc1 prior to 3.27.2. This vulnerability allows malicious package publishers to manipulate the 'app' field in the Hex registry, leading to the deletion of directories outside the project's '_build' folder. When developers fetch dependencies, Rebar3 inadvertently overwrites these directories with package files. The issue arises because Rebar3 does not validate the 'app' names, which can be crafted to escape the intended directory structure. As a result, sensitive files can be replaced or deleted, potentially leading to unauthorized code execution.
Users can upgrade to Rebar3 version 3.27.2 or later. After upgrading, Rebar3 will reject dependency names that do not conform to the required format, including those that escape the dependencies directory.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 12, 2026CISA-ADP
Assessed Oct 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/erlang/rebar3/security/advisories/GHSA-6ggr-r7mh-2mv8 | CISA-ADP | AdvisoryVendor |
| https://cna.erlef.org/cves/CVE-2026-103060.html | EEF | AdvisoryRemedy |
| https://github.com/erlang/rebar3/commit/56b7d88975aa8da6446857cfd92de0825024bf63 | EEF | Source CodeVendor |
| https://github.com/erlang/rebar3/commit/e35282b26e499b1d9e8f30bba9dccd71cd8b02ba | EEF | Source CodeVendor |
| https://github.com/erlang/rebar3/security/advisories/GHSA-6ggr-r7mh-2mv8 | EEF | AdvisoryVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-103060 | EEF | AdvisoryBundle |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') | EEF |
Affected Products
| Product | Versions |
|---|---|
| Erlang rebar3 | >= 3.7.0-rc1, < 3.27.2 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 16, 2026 | CVE Modified | CISA-ADP |
| Oct 12, 2026 | New CVE Received | EEF |
Volerion