Algernon: Host header path traversal in --domain mode reads files and runs Lua from parent dir
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| xyproto | algernon | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Xyproto | Algernon |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-jc3j-x6pg-4hmv | Algernon: Host header path traversal in --domain mode reads files and runs Lua from parent dir |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.335% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Xyproto
Xyproto algernon |
|
| Vendors & Products |
Xyproto
Xyproto algernon |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| 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
|