Path Traversal in Gleam-Wisp Wisp

CVE-2026-28807

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in gleam-wisp wisp allows arbitrary file read via percent-encoded path traversal. The wisp.serve_static function is vulnerable to path traversal because sanitization runs before percent-decoding. The encoded sequence %2e%2e passes through string.replace unchanged, then uri.percent_decode converts it to .., which the OS resolves as directory traversal when the file is read. An unauthenticated attacker can read any file readable by the application process in a single HTTP request, including application source code, configuration files, secrets, and system files. This issue affects wisp: from 2.1.1 before 2.2.1.

Vulnerability class: Path Traversal (Directory Traversal)

EPSS: 0.011 (61.0th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.

Affected products

  • Gleam-wisp Wisp — versions 2.1.1, 129dcb1fe10ab1e676145d91477535e1c90ab550

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-28807?
CVE-2026-28807 is a high-severity vulnerability in Gleam-Wisp Wisp, classified under Path Traversal. CVSS score: 7.5/10. Published 2026-03-10.
How severe is CVE-2026-28807?
High severity. CVSS v3 base score is 7.5 out of 10.