CVE-2026-45560
Received Received - Intake
Stored XSS in Roxy-WI Log Viewer via Unsanitized Access Logs

Publication date: 2026-06-10

Last updated on: 2026-06-10

Assigner: GitHub, Inc.

Description
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, wrap_line (app/modules/common/common.py:181-186) and highlight_word (app/modules/common/common.py:188-192) build raw HTML by string concatenation with no escaping. The frontend (app/static/js/script.js, log-viewer paths) uses .html(data) / .append(data) to inject the response body. Anyone able to write a line into a managed HAProxy/Nginx access log (i.e. anyone who can send an HTTP request to the public LB) can land an <svg/onload=…> payload that executes when a Roxy-WI admin opens the log viewer. At time of publication, there are no publicly available patches.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-10
Last Modified
2026-06-10
Generated
2026-06-10
AI Q&A
2026-06-10
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
roxy-wi roxy-wi to 8.2.6.4 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

CVE-2026-45560 is a stored cross-site scripting (XSS) vulnerability in the Roxy-WI log viewer affecting versions 8.2.6.4 and earlier.

The vulnerability arises because the functions wrap_line and highlight_word generate raw HTML by string concatenation without proper escaping.

An attacker who can write a line into a managed HAProxy or Nginx access log (for example, by sending an HTTP request to the public load balancer) can inject a malicious payload such as <svg/onload=...>.

This payload executes when a Roxy-WI administrator opens the log viewer, due to the frontend using .html(data) to render the log content, which allows stored XSS.

Impact Analysis

This vulnerability allows attackers to execute malicious scripts in the context of the Roxy-WI admin's browser when they view the logs.

Potential impacts include stealing session cookies, which can lead to session hijacking, and privilege escalation.

The attack requires no privileges and minimal user interaction, making it easier for attackers to exploit.

Detection Guidance

This vulnerability can be detected by checking if malicious HTML or JavaScript payloads, such as <svg/onload=...>, have been injected into the HAProxy or Nginx access logs managed by Roxy-WI.

Since the vulnerability arises from unescaped HTML in log entries, you can inspect the access logs for suspicious entries containing script or SVG tags.

Suggested commands to detect potential exploitation attempts include searching the access logs for suspicious payloads. For example:

  • grep -iE '<svg|<script|onload=' /path/to/haproxy/access.log
  • grep -iE '<svg|<script|onload=' /path/to/nginx/access.log

Additionally, monitoring HTTP requests to the load balancer for unusual User-Agent headers or other fields containing HTML tags can help detect attempts to inject malicious payloads.

Mitigation Strategies

Immediate mitigation steps include preventing the execution of injected HTML/JavaScript in the Roxy-WI log viewer by avoiding rendering raw HTML from log entries.

Specifically, the recommended fix is to escape HTML content properly using Jinja's auto-escape features and to replace the frontend usage of .html(data) with .text(data) or equivalent methods that do not interpret HTML.

Since no public patches are available at the time of publication, you should restrict access to the Roxy-WI log viewer to trusted administrators only and monitor logs for suspicious entries.

Additionally, consider filtering or sanitizing HTTP request fields (like User-Agent) at the load balancer or web server level to block payloads containing HTML or script tags.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-45560. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart