Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid VNC credentials
-
DeliveryAuthenticate to UltraVNC server on Windows
-
ExploitSend crafted RFB message with non-NUL-terminated WCHAR buffer
-
ExecutionTrigger vncWc2Mb() wcslen() over-read in rfb/dh.cpp:204
-
ImpactCrash server process or read adjacent memory
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires possession of valid VNC authentication credentials - the CVSS PR:L metric confirms low-privilege authenticated access is a prerequisite before the vulnerable vncWc2Mb() function can be reached. Beyond authentication, the attacker must supply a WCHAR buffer that is not properly NUL-terminated, which the description explicitly characterizes as an 'abnormal caller contract under typical Win32 API usage,' meaning standard VNC client implementations would not naturally produce this condition; a specially crafted or modified client is necessary. Exploitation is further restricted to Windows deployments only due to Win32 API and WCHAR dependencies. Reliable information disclosure is additionally constrained by the need for favorable process memory layout - the more consistent outcome is a denial-of-service crash if the over-read crosses a page boundary. Unauthenticated or remote-without-credentials exploitation is not supported by the available CVSS data. |
| Impact | The official CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L, score 4.3) places this at Medium severity with network reachability and a low-privilege requirement. A notable discrepancy exists: the vector assigns C:N (no confidentiality impact) while the CVE description explicitly states 'potential information disclosure from adjacent memory regions' - this conflict likely reflects the vendor's conservative assessment that reliable, controlled information disclosure is not achievable in practice. Additionally, the AC:L assignment appears optimistic given the description's characterization of exploitation as requiring 'an abnormal caller contract under typical Win32 API usage,' which more accurately maps to AC:H. No EPSS data, KEV listing, or public POC was included in the provided intelligence, all of which are absent signals pointing to low real-world exploitation likelihood. The realistic risk profile is routine patching priority: denial of service via process crash is the most consistent outcome, while meaningful memory disclosure would require adversary control over memory layout. This is not an emergency-response scenario. |
| Exploit ScenarioDerived | An attacker with valid VNC credentials authenticates to an UltraVNC server and sends a crafted RFB protocol message containing a wide-character string field that lacks proper NUL termination, causing the server's vncWc2Mb() function to invoke wcslen() past the buffer boundary. Depending on memory layout at the time of the over-read, the outcome is either a server process crash when the read crosses a page boundary (denial of service) or silent consumption of adjacent memory content until a null wide-character is encountered. No public exploit code is known at time of analysis, and reliable targeting of the information disclosure variant would require substantial knowledge of the server process's memory layout. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 01, 2026
Out-of-bounds read in UltraVNC through version 1.8.2.2 allows network-authenticated attackers to potentially crash the VNC server process or leak adjacent memory content via the vncWc2Mb() wide-string conversion helper in rfb/dh.cpp at line 204. The flaw is triggered when wcslen() is called on a caller-supplied WCHAR pointer without a preceding bounds check, enabling memory over-reads if the buffer lacks proper NUL termination. No public exploit code or active exploitation has been identified at time of analysis; the vendor's CVSS 4.3 (Medium) rating reflects the constrained and largely denial-of-service-oriented impact.
RemediationAI
Monitor the UltraVNC vendor site at https://uvnc.com/ and the upstream GitHub repository at https://github.com/ultravnc/UltraVNC for a patched release beyond version 1.8.2.2. No confirmed fixed version is available in the provided intelligence, so a vendor-released patch has not been independently verified at time of analysis. As an immediate compensating control, restrict network access to VNC services via host-based firewall rules or require VPN tunneling before VNC is reachable - this eliminates the network attack vector (AV:N) without disabling VNC functionality, with the trade-off of added infrastructure overhead. Enforcing strong authentication credentials for VNC sessions addresses the PR:L prerequisite by raising the barrier to obtaining valid access. Organizations should subscribe to release notifications on the UltraVNC GitHub repository to be alerted when a patched version is published.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a CWE-125 (Out-of-Bounds Read) in the vncWc2Mb() function, a wide-character to multibyte string conversion helper located in rfb/dh.cpp at line 204 of the UltraVNC codebase. The rfb/ path prefix indicates this code resides within the Remote Framebuffer protocol implementation. The function calls the Win32/POSIX wcslen() API on a caller-supplied WCHAR pointer before performing any bounds validation. Since wcslen() scans forward in memory until it encounters a null wide-character (0x0000), passing a buffer that is not properly NUL-terminated causes the function to read beyond the allocated buffer boundary into adjacent memory. Per CPE cpe:2.3:a:uvnc:ultravnc:*:*:*:*:*:*:*:*, all UltraVNC versions through 1.8.2.2 are affected. The Win32 API context (WCHAR, wcslen) confirms this is exclusively a Windows platform issue. The root class - trusting caller-supplied pointer length without validation - is a classic input validation failure at an internal API boundary.
Know when Ultravnc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
AC:H reflects the abnormal caller contract prerequisite; C:L added because adjacent memory disclosure is described as a realistic (if unreliable) outcome, overriding the vendor's C:N.
Primary rating from Vendor (securin).
CVSS VectorNVD
Lifecycle Timeline
1DescriptionNVD
UltraVNC through 1.8.2.2 contains an out-of-bounds read in the wide-string to multibyte conversion helper. In rfb/dh.cpp:204, the vncWc2Mb() function passes a caller-supplied WCHAR pointer to wcslen() before any bounds check. If the caller provides a wide-character buffer that is not properly NUL-terminated, wcslen() reads past the end of the buffer until it encounters a NUL wchar, resulting in an out-of-bounds read. Under typical Win32 API usage this requires an abnormal caller contract. Impact is limited to a potential information disclosure from adjacent memory regions or a process crash (denial of service) if the over-read crosses a page boundary.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Related Vulnerabilities in UltraVNC Memory Corruption and Cryptographic Flaws
View all 10UltraVNC Launcher 1.2.4.0 contains a denial of service vulnerability in the Repeater Host configuration field that allow
UltraVNC versions up to 1.6.4.0 suffer from an uncontrolled search path vulnerability in version.dll loaded by the Servi
UltraVNC Launcher 1.2.4.0 contains a denial of service vulnerability in its password configuration properties that allow
UltraVNC revision 1203 has out-of-bounds access vulnerability in VNC client inside RAW decoder, which can potentially re
UltraVNC revision 1211 has multiple improper null termination vulnerabilities in VNC server code, which result in out-of
UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer offer handler, w
UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer request handler,
UltraVNC revision 1211 has multiple off-by-one vulnerabilities in VNC server code, which can potentially result in code
UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer handler, which c
UltraVNC revision 1206 has multiple off-by-one vulnerabilities in VNC client code connected with improper usage of Clien
UltraVNC revision 1207 has multiple out-of-bounds access vulnerabilities connected with improper usage of ClientConnecti
UltraVNC revision 1207 has multiple out-of-bounds access vulnerabilities connected with improper usage of SETPIXELS macr
EUVD-2026-40878
GHSA-f9fh-23qv-g394
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB