CVE 4.6 MEDIUM

Path Traversal in gleam docs build via documentation.pages Allows Arbitrary File Read and Write_CVE-2026-32685

4.6 / 10
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

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.

Basic Information

ID CVE-2026-32685
Source EEF
Published Jun 2, 2026 at 13:41

Affected Product

Vendor Gleam
Product Gleam
Version 1.16.0
Affected Versions Gleam Gleam 1.16.0
Gleam Gleam 1.16.0
Gleam Gleam 61ed8deb6572b5591ad17d6302c1a38607522f16
Gleam Gleam v1.16.0-elixir
Gleam Gleam v1.16.0-erlang
Gleam Gleam v1.16.0-node
Gleam Gleam v1.16.0-node-slim
Gleam Gleam v1.16.0-elixir-slim
Gleam Gleam v1.16.0-erlang-slim
Gleam Gleam v1.16.0-erlang-alpine
Gleam Gleam v1.16.0-elixir-alpine
Gleam Gleam v1.16.0-node-alpine
Gleam Gleam v1.16.0-scratch

CWE Classification

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.