CVE-2026-44041
UltraVNC vncWc2Mb calls wcslen() before validating that the wide string is NUL-terminated
Description
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.
INFO
Published Date :
July 1, 2026, 5:16 a.m.
Last Modified :
Oct. 25, 2026, 5:10 p.m.
Remotely Exploit :
Yes !
Source :
33c584b5-0579-4c06-b2a0-8d8329fcab9c
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | 33c584b5-0579-4c06-b2a0-8d8329fcab9c | ||||
| CVSS 3.1 | MEDIUM | [email protected] |
Solution
- Update UltraVNC to the latest stable version.
- Ensure wide-character buffers are properly NUL-terminated.
- Apply security patches provided by the vendor.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-44041.
| URL | Resource |
|---|---|
| https://github.com/ultravnc/UltraVNC | Product |
| https://uvnc.com/ | Product Release Notes |
| https://www.securin.io/zero-days/cve-2026-44041-vncwc2mb-wcslen-before-bounds-check-ultravnc |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-44041 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-44041
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-44041 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-44041 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 25, 2026
Action Type Old Value New Value Added Translation Title: UltraVNC de uvnc, Description: UltraVNC hasta la versión 1.8.2.2 contiene una lectura fuera de límites en el asistente de conversión de cadena ancha a multibyte. En rfb/dh.cpp:204, la función vncWc2Mb() pasa un puntero WCHAR proporcionado por el llamador a wcslen() antes de cualquier comprobación de límites. Si el llamador proporciona un búfer de caracteres anchos que no está correctamente terminado en NUL, wcslen() lee más allá del final del búfer hasta que encuentra un wchar NUL, lo que resulta en una lectura fuera de límites. Bajo el uso típico de la API de Win32, esto requiere un contrato de llamador anormal. El impacto se limita a una potencial revelación de información de regiones de memoria adyacentes o un fallo del proceso (denegación de servicio) si la lectura excesiva cruza un límite de página. -
CVE Modified by 33c584b5-0579-4c06-b2a0-8d8329fcab9c
Jul. 09, 2026
Action Type Old Value New Value Added Reference https://www.securin.io/zero-days/cve-2026-44041-vncwc2mb-wcslen-before-bounds-check-ultravnc -
Initial Analysis by [email protected]
Jul. 02, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L Added CPE Configuration OR *cpe:2.3:a:uvnc:ultravnc:*:*:*:*:*:*:*:* versions up to (including) 1.8.2.2 Added Reference Type securin: https://github.com/ultravnc/UltraVNC Types: Product Added Reference Type securin: https://uvnc.com/ Types: Product, Release Notes -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jul. 01, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-44041', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-07-01T13:10:10.152068Z'} -
New CVE Received by 33c584b5-0579-4c06-b2a0-8d8329fcab9c
Jul. 01, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'uvnc', 'modules': ['winvnc', 'vncviewer'], 'product': 'UltraVNC', 'versions': [{'status': 'affected', 'version': '0', 'versionType': 'custom', 'lessThanOrEqual': '1.8.2.2'}], 'defaultStatus': 'unaffected'}] Added Description 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. Added CVSS V3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L Added CWE CWE-125 Added Reference https://github.com/ultravnc/UltraVNC Added Reference https://uvnc.com/