Skip to content
OpenAdvisories
High WID-SEC-2026-2162 10 CVEs

UltraVNC: Mehrere Schwachstellen

Published Jun 30, 2026 · Updated Jun 30, 2026 · de-DE

Summary

Ein entfernter, anonymer Angreifer kann mehrere Schwachstellen in UltraVNC ausnutzen, um beliebigen Programmcode auszuführen, vertrauliche Informationen offenzulegen, Daten zu manipulieren, und einen Denial of Service zu verursachen.

Product

UltraVNC ist eine Lösung zur Übertragung von Bildschirminhalten und Fernsteuerung von Computern.

Vulnerabilities 10

  • Critical 9.8

    UltraVNC repeater HTTP server global buffer overflow via long URI (pre-auth RCE)

    UltraVNC repeater through 1.8.2.2 contains a global buffer overflow in its embedded HTTP administration server. The functions wi_senderr() and wi_replyhdr() in repeater/webgui/webutils.c write the caller-supplied HTTP request URI into a fixed 1000-byte global…

  • Critical 9.1

    UltraVNC repeater ships hardcoded default admin password allowing unauthenticated admin access

    UltraVNC repeater through 1.8.2.2 initializes the HTTP administration server with a hardcoded default password. In repeater/webgui/settings.c:197, when settings2.txt is absent on first run the repeater writes the literal string "adminadmi2" as the admin passw…

  • High 8.8

    UltraVNC viewer heap buffer overflow via integer overflow in RFB connection-failure reason length

    UltraVNC viewer through 1.8.2.2 contains an integer overflow leading to a heap buffer overflow in the RFB protocol failure-response parsing path. In vncviewer/ClientConnection.cpp, the 4-byte network-supplied reasonLen field (type CARD32) is passed as reasonL…

  • High 7.5

    UltraVNC viewer off-by-one stack overflow in ServerInit desktop name parsing

    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]…

  • High 7.4

    UltraVNC MS-Logon II uses 64-bit Diffie-Hellman and seeded libc rand() enabling credential interception

    UltraVNC through 1.8.2.2 uses inadequate cryptography in the MS-Logon II authentication scheme (rfbUltraVNC_MsLogonIIAuth). In rfb/dh.cpp the Diffie-Hellman key exchange is performed with parameters that fit in an unsigned 64-bit integer (DH_MAX_BITS controls…

  • High 7.2

    UltraVNC repeater authenticated out-of-bounds write in rule parser via oversized token

    UltraVNC repeater through 1.8.2.2 contains a post-authentication out-of-bounds write in the allow/deny rule parser. In repeater/webgui/settings.c:225-272, after strncpy_s copies a rule token into temp1[rule1] (25-byte destination) or temp2/temp3 (16-byte dest…

  • Medium 5.3

    UltraVNC repeater integer overflow in win_log malloc leading to heap overflow

    UltraVNC repeater through 1.8.2.2 contains an integer overflow in the HTTP request logging path. In repeater/webgui/settings.c:336, the win_log() function allocates list nodes via malloc(sizeof(struct LIST) + strlen(line)), where line is derived from HTTP req…

  • Medium 4.8

    UltraVNC vncauth.c uses time-seeded libc rand() to generate VNC authentication challenge bytes

    UltraVNC through 1.8.2.2 uses a cryptographically weak pseudo-random number generator to produce VNC authentication challenge bytes. In rfb/vncauth.c:119-129, the vncRandomBytes() function seeds libc rand() with time(0) + getpid() + rand() and generates a 16-…

  • Medium 4.3

    UltraVNC vncWc2Mb calls wcslen() before validating that the wide string is NUL-terminated

    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-cha…

  • Low 3.7

    UltraVNC repeater wi_uudecode off-by-one in base64 decode boundary check

    UltraVNC repeater through 1.8.2.2 contains an off-by-one error in the Base64 decode helper used for HTTP Basic authentication. In repeater/webgui/webutils.c:817, the wi_uudecode() function checks whether the input length exceeds the output buffer with a stric…

Revision history

  1. #1

    Initiale Fassung

References