CVE-2026-48126

Algernon: Host header path traversal in --domain mode reads files and runs Lua from parent dir

Published May 26, 2026 CVSS 3.1 · 8.2 High EPSS < 1% KEV · Not listed
Description
Algernon is a small self-contained pure-Go web server. Prior to 1.17.8, when algernon is started with --domain (or --letsencrypt, which silently turns on --domain at engine/flags.go:372), the request handler resolves the served directory by joining the configured --dir with the value of the client-supplied Host header. The join is performed by filepath.Join with no validation, so a Host: .. header walks one level above the document root. Subsequent file resolution then exposes everything in that parent directory — arbitrary file read, full directory listing, and, if any .lua file is present, server-side Lua execution. This vulnerability is fixed in 1.17.8.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-jc3j-x6pg-4hmv Algernon: Host header path traversal in --domain mode reads files and runs Lua from parent dir
History
Type Values Removed Values Added
First Time appeared Xyproto
Xyproto algernon
Vendors & Products Xyproto
Xyproto algernon
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Algernon is a small self-contained pure-Go web server. Prior to 1.17.8, when algernon is started with --domain (or --letsencrypt, which silently turns on --domain at engine/flags.go:372), the request handler resolves the served directory by joining the configured --dir with the value of the client-supplied Host header. The join is performed by filepath.Join with no validation, so a Host: .. header walks one level above the document root. Subsequent file resolution then exposes everything in that parent directory — arbitrary file read, full directory listing, and, if any .lua file is present, server-side Lua execution. This vulnerability is fixed in 1.17.8.
Title Algernon: Host header path traversal in --domain mode reads files and runs Lua from parent dir
Weaknesses CWE-22
CWE-23
CWE-644
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
May 26, 2026, 5:27 PM
Reserved
May 20, 2026, 6:46 PM
Status
Deferred
Published
May 26, 2026, 5:16 PM
Modified
Jul 24, 2026, 11:10 AM