CVE-2026-7831
HighCVSS 7.6Exploitation Probability (EPSS)
Low risk33th percentile — higher than 33% of all known CVEs
Summary
UltraVNC viewer up to version 1.8.2.2 contains an off-by-one stack buffer overflow in the RFB ServerInit message handler. When the server supplies a desktop name of exactly 2024 bytes, ReadString writes a null terminator one byte past the allocated buffer, causing a stack overflow.
Risk Assessment
A malicious VNC server can exploit this vulnerability to crash the client (denial of service) or potentially overwrite stack data, which depending on compilation settings may allow remote code execution. User interaction (connecting to the malicious server) is required.
Recommendation
Upgrade UltraVNC to a version newer than 1.8.2.2 as soon as it becomes available. Until then, avoid connecting to untrusted VNC servers.
Original NVD description (English source)
UltraVNC viewer through 1.8.2.2 contains an off-by-one stack buffer overflow in the RFB ServerInit message handler. In vncviewer/ClientConnection.cpp, when the server-supplied nameLength equals exactly 2024 the code declares a 2024-byte stack buffer _dn[2024] and calls ReadString(_dn, 2024). ReadString writes the NUL terminator at buf[length], i.e., _dn[2024], one byte past the end of the stack buffer. A malicious VNC server can trigger this condition by advertising a desktop name of length 2024 in its ServerInit message. On release builds without stack canaries the single-byte NUL overwrite adjacent stack data. On builds with /GS stack protection the canary is corrupted and the process terminates, resulting in denial of service. User interaction (connecting the viewer to the malicious server) is required.

