CVE-2026-46431: xyproto Algernon permissive CORS policy in SSE event server

CVE-2026-46431 · Severity: medium · CVSS 4.3 · Published 2026-05-26

Algernon is a standalone web server used for rapid development and hosting. A security flaw in its Server-Sent Events (SSE) component allows malicious websites to spy on a developer's local environment. If a developer visits a malicious site while the server is running, that site can silently monitor the names of files being edited or changed on the developer's computer, potentially exposing sensitive project structures or filenames.

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

Quick answers

Is CVE-2026-46431 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-46431 being exploited in the wild.
How severe is CVE-2026-46431?
Medium severity, with a CVSS score of 4.3, 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-46431?
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-46431 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-46431?
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

The SSE (Server-Sent Events) server in Algernon prior to version 1.17.7 hardcodes the 'Access-Control-Allow-Origin' response header to a wildcard (*). Because the browser's EventSource API does not trigger CORS preflight requests and does not send cookies, this permissive policy allows any cross-origin site to initiate a connection to the SSE port (typically 5553). An attacker can lure a developer to a malicious page that uses JavaScript to open an EventSource connection to the local Algernon instance and exfiltrate the stream of file-change events. This vulnerability is caused by the literal string "*" being passed to the underlying recwatch implementation in engine/config.go. The issue is fixed in version 1.17.7 by implementing proper origin validation.

Affected products

  • xyproto Algernon < 1.17.7

Identifiers

  • CVE-2026-46431
  • GHSA-hw27-4v2q-5qff
  • GO-2026-5440

Timeline

  • 2026-05-14: advisory: GitHub Security Advisory published by vendor
  • 2026-05-26: disclosed: CVE published to NVD dataset
  • 2026-05-26: patched: Vulnerability fixed in version 1.17.7

References

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