CVE-2019-25600UltraVNC Viewer 1.2.2.4 版本中存在一个拒绝服务漏洞。该漏洞是由于应用程序对VNC Server输入字段的数据缺乏足够的长度校验机制引起的。攻击者可以通过诱导用户向该输入框粘贴包含256个重复字符的恶意字符串,并点击连接按钮,从而触发缓冲区溢出。成功利用此漏洞会导致查看器应用程序崩溃,造成拒绝服务。
该漏洞的技术根源在于UltraVNC Viewer在处理用户输入的VNC Server地址时缺乏必要的长度校验机制。具体而言,软件在解析“VNC Server”输入框内容时,使用了不安全的内存拷贝逻辑,未对输入数据的长度进行限制。攻击者通过向该字段粘贴包含256个重复字符的恶意载荷,当用户点击“Connect”按钮触发连接操作时,该超长字符串会被写入栈上的固定大小缓冲区。由于写入长度超过了缓冲区的边界,导致栈结构破坏,程序抛出异常并终止运行。这种基于栈的缓冲区溢出破坏了程序的正常执行流,虽然当前已知影响仅限于应用程序崩溃(拒绝服务),但这也暴露了该软件在输入验证方面的严重缺陷。