Path Traversal in gleam docs build via documentation.pages Allows Arbitrary File Read and Write
Summary
| CVE | CVE-2026-32685 |
|---|---|
| State | PUBLISHED |
| Assigner | EEF |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-06-02 14:16:50 UTC |
| Updated | 2026-06-02 16:16:36 UTC |
| Description | Path traversal vulnerability in Gleam's handling of custom documentation pages allows arbitrary file read and file write outside the intended documentation output directory. The documentation.pages entries from gleam.toml are incorporated into filesystem paths without sufficient validation or confinement to the intended project and documentation output directories. The documentation.pages[].path field can be used to write generated documentation files outside the intended build/dev/docs/<package>/ output directory. The documentation.pages[].source field can be used to read files outside the project directory and embed their contents into generated documentation output. An attacker who can convince a victim to run gleam docs build on an untrusted project, or with untrusted gleam.toml content, can cause local files readable by the victim to be included in generated documentation artifacts, and can cause generated documentation files to be written outside the intended docs output directory. This issue affects Gleam from 1.16.0 until 1.17.0. |
Risk And Classification
Primary CVSS: v4.0 4.6 MEDIUM from 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-22 | CWE-22 CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | Secondary | 4.6 | MEDIUM | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/C... |
| 4.0 | CNA | CVSS | 4.6 | MEDIUM | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N |
CVSS v4.0 Breakdown
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Gleam | Gleam | affected 1.16.0 1.17.0 semver | Not specified |
| CNA | Gleam | Gleam | affected 1.16.0 1.17.0 semver | Not specified |
| CNA | Gleam | Gleam | affected 61ed8deb6572b5591ad17d6302c1a38607522f16 81570611906b6b0039c948037094d09a68700f3a git | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-elixir v1.17.0-elixir other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-erlang v1.17.0-erlang other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-node v1.17.0-node other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-node-slim v1.17.0-node-slim other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-elixir-slim v1.17.0-elixir-slim other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-erlang-slim v1.17.0-erlang-slim other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-erlang-alpine v1.17.0-erlang-alpine other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-elixir-alpine v1.17.0-elixir-alpine other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-node-alpine v1.17.0-node-alpine other | Not specified |
| CNA | Gleam | Gleam | affected v1.16.0-scratch v1.17.0-scratch other | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| cna.erlef.org/cves/CVE-2026-32685.html | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | cna.erlef.org | |
| osv.dev/vulnerability/EEF-CVE-2026-32685 | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | osv.dev | |
| github.com/gleam-lang/gleam/security/advisories/GHSA-wjx8-7w8m-p4v7 | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | github.com | |
| github.com/gleam-lang/gleam/commit/c9230cd3045de8fd8481dae3a4557c0146df1430 | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | github.com | |
| github.com/gleam-lang/gleam/commit/81570611906b6b0039c948037094d09a68700f3a | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: evipepota (en)
CNA: evipepota (en)
CNA: Louis Pilfold (en)
CNA: Jonatan Männchen / EEF (en)
Additional Advisory Data
Workarounds
CNA: * Avoid running gleam docs build on untrusted projects * Review documentation.pages entries in gleam.toml before generating documentation * Run documentation generation in a restricted or isolated environment (e.g. containers)