Home

Description

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.

PUBLISHED Reserved 2026-05-05 | Published 2026-07-01 | Updated 2026-07-09 | Assigner securin




HIGH: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H

Problem types

Off-by-one Error

Out-of-bounds Write

Product status

Default status
unaffected

Any version
affected

Timeline

2026-06-02:Vulnerability discovered during security audit
2026-06-17:Reported to vendor (coordinated disclosure)
2026-09-15:Planned public disclosure (90-day window)

Credits

Arjun Basnet, Securin (arjun.basnet@securin.io) finder

References

uvnc.com/ (UltraVNC project page) vendor-advisory

github.com/ultravnc/UltraVNC (UltraVNC source repository) product

www.securin.io/...-stack-overflow-viewer-namelength-ultravnc

cve.org (CVE-2026-7831)

nvd.nist.gov (CVE-2026-7831)

Download JSON