Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-33078

CVE-2026-33078: Roxy-wi SQL Injection Vulnerability

CVE-2026-33078 is a SQL injection flaw in Roxy-wi that allows attackers to execute arbitrary SQL commands via unsanitized server_ip parameter. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-33078 Overview

CVE-2026-33078 is a SQL Injection vulnerability affecting Roxy-WI, a web interface for managing Haproxy, Nginx, Apache, and Keepalived servers. The vulnerability exists in the haproxy_section_save function within app/routes/config/routes.py, where the server_ip parameter sourced from the URL path is passed unsanitized through multiple function calls and ultimately interpolated into a SQL query string using Python string formatting. This allows attackers to execute arbitrary SQL commands against the backend database.

Critical Impact

Unauthenticated attackers can exploit this SQL injection flaw to execute arbitrary SQL commands, potentially leading to unauthorized data access, data manipulation, or complete database compromise on Roxy-WI installations prior to version 8.2.6.4.

Affected Products

  • Roxy-WI versions prior to 8.2.6.4
  • All deployments using vulnerable haproxy_section_save endpoint
  • Systems with network-accessible Roxy-WI web interface

Discovery Timeline

  • 2026-04-24 - CVE-2026-33078 published to NVD
  • 2026-04-27 - Last updated in NVD database

Technical Details for CVE-2026-33078

Vulnerability Analysis

This SQL Injection vulnerability (CWE-89) occurs due to improper input validation in the Roxy-WI configuration management routes. The server_ip parameter, which is extracted directly from the URL path, flows through the application without proper sanitization or parameterized query handling. Instead of using prepared statements or parameterized queries, the application uses Python string formatting to construct SQL queries, creating a classic SQL injection attack surface.

The vulnerability is particularly dangerous because it exists in a server management interface that typically has elevated privileges to the underlying infrastructure. Successful exploitation could allow attackers to extract sensitive configuration data, modify server settings, or pivot to compromise managed Haproxy, Nginx, Apache, or Keepalived servers.

Root Cause

The root cause of this vulnerability is the use of unsafe Python string formatting to construct SQL queries. The server_ip parameter is taken directly from user-controlled URL path input and interpolated into SQL query strings without any input validation, escaping, or use of parameterized queries. This violates secure coding practices that mandate treating all user input as untrusted and using prepared statements for database operations.

Attack Vector

The attack is network-based and requires no authentication or user interaction. An attacker can craft malicious HTTP requests to the haproxy_section_save endpoint with specially crafted server_ip values containing SQL injection payloads. These payloads pass through multiple function calls and are ultimately executed against the database, allowing the attacker to:

  • Extract sensitive data from the database
  • Modify or delete database records
  • Bypass authentication mechanisms
  • Potentially execute commands on the underlying system depending on database configuration

The security patch introduces proper input validation by importing the common module and implementing IP/DNS validation in the routes:

python
 import app.modules.db.sql as sql
+import app.modules.common.common as common
 import app.modules.roxy_wi_tools as roxy_wi_tools
 
 get_config_var = roxy_wi_tools.GetConfigVar()

Source: GitHub Commit Changes

Detection Methods for CVE-2026-33078

Indicators of Compromise

  • Unusual SQL error messages in application logs or HTTP responses
  • HTTP requests to /config/ endpoints containing SQL syntax characters (single quotes, semicolons, UNION keywords, comment sequences)
  • Unexpected database queries or data access patterns in database audit logs
  • Evidence of data exfiltration or unauthorized database modifications

Detection Strategies

  • Implement web application firewall (WAF) rules to detect SQL injection patterns in URL paths and parameters
  • Monitor HTTP access logs for requests containing SQL injection signatures targeting Roxy-WI configuration endpoints
  • Enable database query logging and alert on suspicious query patterns or syntax errors
  • Deploy intrusion detection systems (IDS) with signatures for SQL injection attack patterns

Monitoring Recommendations

  • Enable verbose logging for the Roxy-WI application and database connections
  • Configure alerts for HTTP 500 errors or database errors that may indicate exploitation attempts
  • Implement real-time log analysis to detect SQL injection payload patterns in request URLs
  • Monitor network traffic for unusual outbound connections that may indicate data exfiltration

How to Mitigate CVE-2026-33078

Immediate Actions Required

  • Upgrade Roxy-WI to version 8.2.6.4 or later immediately
  • Restrict network access to the Roxy-WI web interface to trusted IP addresses only
  • Review database audit logs for signs of prior exploitation
  • Implement web application firewall rules to block SQL injection attempts as a defense-in-depth measure

Patch Information

Roxy-WI version 8.2.6.4 addresses this vulnerability by implementing proper IP/DNS validation for user-supplied input. The patch adds input validation using the common module to sanitize the server_ip parameter before it reaches database operations. Users should upgrade to version 8.2.6.4 or later by following the standard Roxy-WI update process. For detailed patch information, refer to the GitHub Security Advisory and the commit changes.

Workarounds

  • Restrict network access to Roxy-WI using firewall rules to limit exposure to trusted networks only
  • Deploy a reverse proxy with WAF capabilities in front of Roxy-WI to filter malicious requests
  • Implement network segmentation to isolate the Roxy-WI management interface from untrusted networks
  • Temporarily disable the affected configuration endpoints if upgrade is not immediately possible
bash
# Example: Restrict access to Roxy-WI using iptables
iptables -A INPUT -p tcp --dport 443 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.