Am I affected?

type your wisp version to check

Description

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.

Weaknesses & attack patterns

Weakness

CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in catalog → MITRE ↗

Attack patterns

CAPEC-139 · Relative Path Traversal MITRE ↗

Affected — Hex / wisp Hex.pm ↗ Repository ↗

2.1.1 < 2.2.1 affected
every other version: unaffected
default status unaffected
cpe cpe:2.3:a:gleam-wisp:wisp:*:*:*:*:*:*:*:*

Affected — GitHub / gleam-wisp/wisp Repository ↗

129dcb1 < 161118c affected
every other version: unaffected
default status unaffected
cpe cpe:2.3:a:gleam-wisp:wisp:*:*:*:*:*:*:*:*

References

Credits

John Downey Finder
Louis Pilfold Remediation developer

CVSS breakdown

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
« All CVEs