CVE-2026-45728: xyproto Algernon information disclosure in single-file mode

CVE-2026-45728 · Severity: high · CVSS 7.5 · Published 2026-05-26

Algernon, a web server used for hosting scripts and templates, contains a vulnerability that automatically enables debug mode when serving a single file. When an error occurs in a script, the server responds with a 'PrettyError' page that reveals the full server-side source code and the absolute file path on the server's disk. This allows any remote user to view sensitive application logic and internal file structures without authorization.

Technologies: github.com/xyproto/algernon (Go), Xyproto Algernon. Vendors: Go, Xyproto.

Quick answers

Is CVE-2026-45728 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-45728 being exploited in the wild.
How severe is CVE-2026-45728?
High severity, with a CVSS score of 7.5, published 26 May 2026.
Which products and versions are affected?
github.com/xyproto/algernon (Go) <= 1.17.6, SEMVER:introduced=0,fixed=1.17.7; Xyproto Algernon < 1.17.7, <= 1.17.6.
Is there a fix for CVE-2026-45728?
Yes. github.com/xyproto/algernon (Go): upgrade to 1.17.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-45728 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-45728?
Check whether you run github.com/xyproto/algernon (Go) or Xyproto Algernon at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/xyproto/algernon (Go): upgrade to 1.17.7 or later
    go get github.com/xyproto/algernon@v1.17.7

Technical details

In Algernon versions prior to 1.17.7, invoking the server with a single file path (singleFileMode) causes 'debugMode' to be forcibly enabled. This activation occurs even if the '--prod' flag is used, as the single-file logic overrides production hardening settings for various file extensions (e.g., .po2, .amber, .tmpl). When 'debugMode' is active, the 'PrettyError' renderer handles Lua or template errors by returning an HTTP 200 OK response containing the absolute path of the file, the complete byte contents of the source file (HTML-escaped), and the specific parser error text. An unauthenticated remote attacker can trigger these errors to exfiltrate the server-side source code of the application and sibling data files. The issue is fixed in version 1.17.7.

Affected products

  • xyproto Algernon < 1.17.7

Identifiers

  • CVE-2026-45728
  • GHSA-fwqx-8365-9983
  • GO-2026-5385

Timeline

  • 2026-05-12: advisory: GitHub Security Advisory published
  • 2026-05-26: disclosed: CVE published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.