Home

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.

PUBLISHED Reserved 2026-03-13 | Published 2026-06-02 | Updated 2026-06-02 | Assigner EEF




MEDIUM: 4.6CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Problem types

CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Product status

Default status
unaffected

1.16.0 (semver) before 1.17.0
affected

Default status
unaffected

1.16.0 (semver) before 1.17.0
affected

61ed8deb6572b5591ad17d6302c1a38607522f16 (git) before 81570611906b6b0039c948037094d09a68700f3a
affected

Default status
unaffected

v1.16.0-elixir (other) before v1.17.0-elixir
affected

v1.16.0-erlang (other) before v1.17.0-erlang
affected

v1.16.0-node (other) before v1.17.0-node
affected

v1.16.0-node-slim (other) before v1.17.0-node-slim
affected

v1.16.0-elixir-slim (other) before v1.17.0-elixir-slim
affected

v1.16.0-erlang-slim (other) before v1.17.0-erlang-slim
affected

v1.16.0-erlang-alpine (other) before v1.17.0-erlang-alpine
affected

v1.16.0-elixir-alpine (other) before v1.17.0-elixir-alpine
affected

v1.16.0-node-alpine (other) before v1.17.0-node-alpine
affected

v1.16.0-scratch (other) before v1.17.0-scratch
affected

Credits

evipepota finder

evipepota remediation developer

Louis Pilfold remediation reviewer

Jonatan Männchen / EEF analyst

References

github.com/.../gleam/security/advisories/GHSA-wjx8-7w8m-p4v7 exploit

github.com/.../gleam/security/advisories/GHSA-wjx8-7w8m-p4v7 vendor-advisory related

cna.erlef.org/cves/CVE-2026-32685.html related

osv.dev/vulnerability/EEF-CVE-2026-32685 related

github.com/...ommit/81570611906b6b0039c948037094d09a68700f3a patch

github.com/...ommit/c9230cd3045de8fd8481dae3a4557c0146df1430 patch

cve.org (CVE-2026-32685)

nvd.nist.gov (CVE-2026-32685)

Download JSON