SCA: security update for github.com/xyproto/algernon (GHSA-xwcr-wm99-g9jc)

critical Tenable Cloud Security Plugin ID 442171

Description

There are packages installed that are affected by a vulnerability referenced in the following CVE:

- 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.
(CVE-2026-45721)

Solution

Update the github.com/xyproto/algernon library and its related packages to version 1.17.7 or later.

See Also

https://github.com/advisories/GHSA-xwcr-wm99-g9jc

Plugin Details

Severity: Critical

ID: 442171

Version: Revision 1.5

Type: Local

Family: SCA Checks

Published: 5/19/2026

Updated: 6/11/2026

Supported Sensors: Tenable Cloud Security, Tenable Self-Hosted Container Security

Risk Information

VPR

Risk Factor: High

Score: 7.3

Vendor

Vendor Severity: Critical

CVSS v2

Risk Factor: High

Base Score: 7.6

Temporal Score: 5.6

Vector: CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C

CVSS Score Source: CVE-2026-45721

CVSS v3

Risk Factor: Critical

Base Score: 9

Temporal Score: 7.8

Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

Vulnerability Information

Exploit Ease: No known exploits are available

Patch Publication Date: 5/19/2026

Vulnerability Publication Date: 5/19/2026

Reference Information

CVE: CVE-2026-45721