CVE-2025-4748
Absolute path traversal in zip:unzip/1,2
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Erlang OTP (stdlib modules) allows Absolute Path Traversal, File Manipulation. This vulnerability is associated with program files lib/stdlib/src/zip.erl and program routines zip:unzip/1, zip:unzip/2, zip:extract/1, zip:extract/2 unless the memory option is passed. This issue affects OTP from OTP 17.0 before OTP 26.2.5.13, OTP 27.3.4.1, and OTP 28.0.1, corresponding to stdlib from 2.0 before 5.2.3.4, 6.2.2.1, and 7.0.1.
Fixes and workarounds
Workaround
You can use zip:list_dir/1 on the archive and verify that no files contain absolute paths before extracting the archive to disk.
Source: CNA: EEFFix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: CNA: EEFFix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: CNA: EEFFix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: CNA: EEFFix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: CNA: EEFAffected products and versions
| Product | Versions | Authority |
|---|---|---|
| OTP Erlang otp
software-id |
≥ 17.0; < * (affected, otp); unaffected at 26.2.5.13; unaffected at 27.3.4.1; unaffected at 28.0.1
Other versions: unaffected |
CNA: EEF |
| OTP Erlang stdlib
otp |
≥ 2.0; < * (affected, otp); unaffected at 5.2.3.4; unaffected at 6.2.2.1; unaffected at 7.0.1
Other versions: unaffected |
CNA: EEF |
| OTP Erlang erlang/otp
github |
≥ 07b8f441ca711f9812fad9e9115bab3c3aa92f79; < * (affected, git); unaffected at 578d4001575aa7647ea1efd4b2b7e3afadcc99a5; unaffected at ba2f2bc5f45fcfd2d6201ba07990a678bbf4cc8f; unaffected at 5a55feec10c9b69189d56723d8f237afa58d5d4f
Other versions: unaffected |
CNA: EEF |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 4.0 / 4.8 medium |
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L | CNA: EEF |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://github.com/erlang/otp/security/advisories/GHSA-9g37-pgj9-wrhcCNA: EEF · vendor-advisory, related
- https://cna.erlef.org/cves/CVE-2025-4748.htmlCNA: EEF · related
- https://osv.dev/vulnerability/EEF-CVE-2025-4748CNA: EEF · related
- https://www.erlang.org/doc/system/versions.html#order-of-versionsCNA: EEF · x_version-scheme
- https://github.com/erlang/otp/pull/9941CNA: EEF · patch
- https://github.com/erlang/otp/commit/07b8f441ca711f9812fad9e9115bab3c3aa92f79CNA: EEF · related
- https://github.com/erlang/otp/commit/578d4001575aa7647ea1efd4b2b7e3afadcc99a5CNA: EEF · patch
- https://github.com/erlang/otp/commit/ba2f2bc5f45fcfd2d6201ba07990a678bbf4cc8fCNA: EEF · patch
- https://github.com/erlang/otp/commit/5a55feec10c9b69189d56723d8f237afa58d5d4fCNA: EEF · patch
- http://www.openwall.com/lists/oss-security/2025/06/16/5ADP: CVE
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.