Skip to content
OpenAdvisories
Medium · 4.8 CVE-2026-47078 EUVD-2026-49317

Relative path traversal in zip:unzip/zip:extract via check_dir_level depth-counter bypass

Published Jul 27, 2026 · Updated Sep 24, 2026 · Assigned by EEF

Description

Relative Path Traversal vulnerability in Erlang OTP (stdlib zip module) allows writing files outside the intended extraction directory via a crafted zip archive.

zip:unzip/1,2 and zip:extract/1,2 validate entry paths using zip:check_dir_level/2, which tracks directory depth as a running integer counter: .. decrements it, normal path components increment it. The caller rejects only paths where the final counter value is less than zero. A path such as ../x/y causes the counter to go negative mid-traversal then recover to zero, passing validation while resolving to a location outside the extraction directory when joined with the current working directory via add_cwd.

This vulnerability is associated with program file lib/stdlib/src/zip.erl.

This issue affects OTP from OTP 27.1 before OTP 27.3.4.15, OTP 28.5.0.4, and OTP 29.0.4, corresponding to stdlib from 6.1 before 6.2.2.4, 7.3.0.1, and 8.0.3.

Affected products

VendorProductAffectedFixed
Erlang OTP 27.1, 6.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 erlang 1:29.0.4+dfsg-1 —
Debian 13 erlang 1:27.3.4.1+dfsg-1+deb13u3 —
Debian 12 erlang No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS erlang 1:27.3.4.6+dfsg-1ubuntu0.2 USN-8901-1
Ubuntu 24.04 LTS erlang 1:25.3.2.8+dfsg-1ubuntu4.8 USN-8901-1
Ubuntu 22.04 LTS erlang 1:24.2.1+dfsg-1ubuntu0.8 USN-8901-1
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS erlang 1:22.2.7+dfsg-1ubuntu0.5+esm3 USN-8901-1
Ubuntu Pro 18.04 LTS erlang 1:20.2.2+dfsg-1ubuntu2+esm4 USN-8901-1
Ubuntu Pro 16.04 LTS erlang 1:18.3-dfsg-1ubuntu3.1+esm4 USN-8901-1
Ubuntu Pro 14.04 LTS erlang 1:16.b.3-dfsg-1ubuntu2.2+esm3 USN-8901-1
ReleasePackageFixed inAdvisory
SLES 15 SP7 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLES 15 SP7 erlang26 26.2.1-150300.7.28.1 SUSE-SU-2026:3579-1
SLES 15 SP6 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLES 15 SP6 erlang26 26.2.1-150300.7.28.1 SUSE-SU-2026:3579-1
SLES 15 SP5 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLES 15 SP4 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP6 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLES for SAP 15 SP6 erlang26 26.2.1-150300.7.28.1 SUSE-SU-2026:3579-1
SLES for SAP 15 SP5 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLES for SAP 15 SP4 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLE HPC 15 SP5 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
SLE HPC 15 SP4 erlang 23.3.4.19-150300.3.39.1 SUSE-SU-2026:3645-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed erlang 28.5.0.4-1.1 openSUSE-SU-2026:11559-1
openSUSE Tumbleweed erlang27 27.1.3-3.1 openSUSE-SU-2026:11560-1

Advisories 6

References