Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1325 CNY

100%

CVE-2026-45556— Roxy-WI: Authenticated arbitrary file write on every managed load balancer (and downstream RCE) via WAF rule save `config_file_name`

CVSS 9.9 · Critical EPSS 0.37% · P29

Possible ATT&CK Techniques 1AI

T1505.003 · Web Shell

Affected Version Matrix 1

VendorProductVersion RangeStatus
roxy-wiroxy-wi<= 8.2.6.4affected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-45556

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Roxy-WI: Authenticated arbitrary file write on every managed load balancer (and downstream RCE) via WAF rule save `config_file_name`
Source: NVD (National Vulnerability Database)
Vulnerability Description
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, POST /waf/<service>/<server_ip>/rule/<rule_id>/save accepts a config_file_name form field that is passed straight through to config_mod.master_slave_upload_and_restart(...) as the destination path. The validation chain (_replace_config_path_to_correct → check_is_conf) only requires the path to contain a hard-coded service substring (nginx/haproxy/apache2/httpd/keepalived) and the substring conf or cfg, and to not contain ... The encoded-slash substitution 92 → / is applied before the substring check, so the attacker can build any absolute path anywhere on the LB filesystem as long as it satisfies those substring constraints. The body of the WAF rule (config form field) is written verbatim to that path. By choosing a filename like 92etc92cron.d92nginx_cfg_evil (resolving to /etc/cron.d/nginx_cfg_evil), an attacker drops a cron entry on the load balancer with attacker-controlled content. Cron parses the file on its next scan, executing the embedded job as root — full RCE on every load balancer the caller's group manages. At time of publication, there are no publicly available patches.
Source: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Source: NVD (National Vulnerability Database)
Vulnerability Type
输入验证不恰当
Source: NVD (National Vulnerability Database)
Vulnerability Title
Roxy-WI 输入验证错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Roxy-WI是Roxy-WI开源的一款用于管理 Haproxy、Nginx 和 Keepalived 服务器的 Web 界面。 Roxy-WI 8.2.6.4及之前版本存在输入验证错误漏洞,该漏洞源于POST /waf/<service>/<server_ip>/rule/<rule_id>/save端点接受config_file_name表单字段并直接传递给config_mod.master_slave_upload_and_restart作为目标路径,验证链仅要求路径包含硬编码服务子字符串和conf
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
roxy-wiroxy-wi <= 8.2.6.4 -

II. Public POCs for CVE-2026-45556

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium
Qwen3.6-35B-A3B · 8052 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-45556

登录查看更多情报信息。

Vendor Advisories for CVE-2026-45556 (1)

Same Patch Batch · roxy-wi · 2026-06-10 · 14 CVEs total

CVE-2026-455589.9 CRITICALRoxy-WI: Authenticated RCE on every managed HAProxy load balancer via `option` field confi
CVE-2026-455529.9 CRITICALRoxy-WI: Cross-tenant authorization bypass on /install/* — guest can run Ansible / SSH on
CVE-2026-455509.1 CRITICALRoxy-WI: IDOR on PUT /smon/check — any user can rewrite any tenant's monitoring URL/IP/bod
CVE-2026-455648.8 HIGHRoxy-WI: Authenticated RCE via 'configver' URL parameter (os.system sink in /config/versio
CVE-2026-455498.5 HIGHRoxy-WI: Authorization bypass on POST /smon/agent/action/<action> — guest can stop or rest
CVE-2026-455678.3 HIGHRoxy-WI: Authentication bypass via 'api' substring in URL + unauthenticated /api/gpt
CVE-2026-455698.1 HIGHRoxy-WI: Path-traversal patch in commit d4d10006 is a no-op (tuple-membership bug)
CVE-2026-455658.1 HIGHRoxy-WI: EscapedString validator skips its '..' block when stripping (root cause for sever
CVE-2026-455616.5 MEDIUMRoxy-WI: SSRF in /smon/agent/<endpoint>/<server_ip> reachable to cloud metadata IPs
CVE-2026-455666.1 MEDIUMRoxy-WI: Open redirect on /login?next= via basic-auth userinfo syntax bypass
CVE-2026-455606.1 MEDIUMRoxy-WI: Stored XSS in log viewer (wrap_line/highlight_word produce unescaped HTML)
CVE-2026-455594.9 MEDIUMRoxy-WI: LDAP injection in /user/ldap/<username> (admin-only)
CVE-2026-455634.3 MEDIUMRoxy-WI: IDOR — any authenticated user can read another user's full action history

IV. Related Vulnerabilities

V. Comments for CVE-2026-45556

No comments yet


Leave a comment