Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2026-45721— Algernon: handler.lua discovery walks parent directories above the server root

CVSS 9.0 · Critical EPSS 0.22% · P45

Affected Version Matrix 1

VendorProductVersion RangeStatus
xyprotoalgernon< 1.17.7affected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-45721

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Algernon: handler.lua discovery walks parent directories above the server root
Source: NVD (National Vulnerability Database)
Vulnerability Description
Algernon is a small self-contained pure-Go web server. Prior to 1.17.7, when Algernon is asked for any URL path that resolves to a directory without an index file, DirPage walks upward through parent directories — past the configured server root — looking for a file named handler.lua to execute as the request handler. The loop terminates only after 100 ancestor steps or when filepath.Dir returns ., so on any absolute server-root path the search reaches the filesystem root (/ on Unix, drive letter on Windows). The first handler.lua it finds is loaded into the Lua interpreter with the full Algernon API exposed — including run3(), httpclient, os.execute, io.popen, PQ, MSSQL, raw filesystem access, and the userstate database. Any process that can write handler.lua anywhere in a parent directory of the server root obtains pre-authenticated remote code execution on the next HTTP request. This is reachable without authentication — the lookup happens before the permission check returns a hit (the perm system only gates URL prefixes, not the handler-resolution step), and any URL pointing at a directory without an index triggers the walk. On a fresh stock Algernon install the request GET / is enough. This vulnerability is fixed in 1.17.7.
Source: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Source: NVD (National Vulnerability Database)
Vulnerability Type
输入验证不恰当
Source: NVD (National Vulnerability Database)
Vulnerability Title
algernon 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
algernon是Alexander F. Rødseth个人开发者的一个 Web 服务器。 Algernon 1.17.7之前版本存在安全漏洞,该漏洞源于目录请求时向上遍历父目录查找handler.lua文件,可能导致任意进程在父目录中写入handler.lua时获得预认证远程代码执行。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
xyprotoalgernon < 1.17.7 -

II. Public POCs for CVE-2026-45721

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-45721

登录查看更多情报信息。

Vendor Advisories for CVE-2026-45721 (1)

Same Patch Batch · xyproto · 2026-05-26 · 7 CVEs total

CVE-2026-481268.2 HIGHAlgernon: Host header path traversal in --domain mode reads files and runs Lua from parent
CVE-2026-457287.5 HIGHAlgernon: Single-file mode unconditionally enables debug mode
CVE-2026-464304.3 MEDIUMAlgernon: Auto-refresh SSE event server binds to all interfaces by default on Linux/macOS
CVE-2026-464314.3 MEDIUMAlgernon: Auto-refresh SSE event server sets Access-Control-Allow-Origin: *
CVE-2026-43981Algernon: Race Condition in handle() shared LState
CVE-2026-43982Algernon: Path traversal file write via savein()

IV. Related Vulnerabilities

V. Comments for CVE-2026-45721

No comments yet


Leave a comment