Skip to main content

UltraVNC EUVDEUVD-2026-40879

| CVE-2026-44040 MEDIUM
Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) (CWE-338)
2026-07-01 securin GHSA-j37g-g7hg-vhg6
6.5
CVSS 3.1 · NVD
Share

Severity by source

Vendor (securin) PRIMARY
MEDIUM
qualitative
NVD
6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI
7.4 HIGH

Successful auth bypass grants full desktop visibility and control (C:H/I:H); AC:H retained because attacker must observe a live challenge exchange to enumerate the seed.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (securin).

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
CVSS changed
Jul 02, 2026 - 16:37 NVD
4.8 (MEDIUM) 6.5 (MEDIUM)
Analysis Generated
Jul 01, 2026 - 05:28 vuln.today
CVE Published
Jul 01, 2026 - 03:33 cve.org
MEDIUM 4.8

DescriptionNVD

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-byte challenge. The combined seed space is approximately 31 bits (libc rand() internal state) and is entirely determined by publicly-observable values (wall-clock time and process ID). An attacker who can observe the authentication exchange can enumerate the seed space and predict the challenge within seconds, enabling forgery or offline brute-forcing of responses. Note: on Windows, the active code path may use vncEncryptBytes2.cpp which calls CryptGenRandom; reachability on shipped Windows binaries requires compile-graph verification and is under investigation.

AnalysisAI

UltraVNC through 1.8.2.2 exposes a cryptographically weak VNC authentication challenge generator that an attacker can predict by observing network traffic and enumerating a roughly 31-bit seed space derived from wall-clock time and process ID. Successful seed reconstruction allows the attacker to forge or brute-force valid VNC authentication responses, effectively bypassing the RFB challenge-response mechanism and gaining unauthorized remote desktop access. No public exploit has been identified at time of analysis, and the vulnerability is not currently listed in the CISA KEV catalog; however, the mathematical basis for exploitation is straightforward given the small seed space.

Technical ContextAI

The vulnerability is in rfb/vncauth.c lines 119-129, where vncRandomBytes() seeds libc's rand() using time(0) + getpid() + rand(). The combined effective entropy is approximately 31 bits - both seed components (wall-clock seconds and process ID) are publicly observable, reducing the challenge generation to a deterministic, enumerable function. The VNC RFB protocol's security type 2 (VNC Authentication) transmits a 16-byte nonce challenge in cleartext; that nonce is then encrypted with the DES-based VNC password and returned by the client. If the nonce is predictable, the entire challenge-response scheme collapses. CWE-338 (Use of Cryptographically Weak Pseudo-Random Number Generator) is the precise root cause class - rand() is explicitly not suitable for cryptographic nonce generation. CPE cpe:2.3:a:uvnc:ultravnc:*:*:*:*:*:*:*:* covers all versions through 1.8.2.2. A significant open question per the CVE description is whether shipped Windows binaries actually reach vncauth.c or instead execute vncEncryptBytes2.cpp, which calls CryptGenRandom - a cryptographically secure Windows API - making the Windows code path exposure unconfirmed.

RemediationAI

No vendor-released patch has been identified at time of analysis - the available references point only to the vendor homepage (https://uvnc.com/) and the GitHub repository (https://github.com/ultravnc/UltraVNC) without specifying a fixed release version. Monitor the repository for commits addressing vncRandomBytes() in rfb/vncauth.c. As the primary compensating control, place UltraVNC behind a VPN or SSH tunnel so that the cleartext RFB authentication exchange is not observable by third parties - this directly eliminates the network observation prerequisite encoded in the CVSS AC:H metric. Alternatively, use SSH port forwarding to wrap VNC traffic, preventing passive capture of the challenge-response exchange. Restrict VNC port exposure at the firewall to trusted source IPs only, reducing the attacker's ability to position for traffic observation. Organizations unable to apply network-layer controls should evaluate migration to remote desktop solutions using cryptographically strong authentication (e.g., protocols seeded with OS-level CSPRNG). Each mitigating control trades operational access convenience for reduced exposure; VPN/SSH tunneling is the most robust option with minimal side effects.

CVE-2020-37133 HIGH POC
7.5 Feb 05

UltraVNC Launcher 1.2.4.0 contains a denial of service vulnerability in the Repeater Host configuration field that allow

CVE-2026-4962 MEDIUM POC
6.4 Mar 27

UltraVNC versions up to 1.6.4.0 suffer from an uncontrolled search path vulnerability in version.dll loaded by the Servi

CVE-2020-37132 MEDIUM POC
6.2 Feb 05

UltraVNC Launcher 1.2.4.0 contains a denial of service vulnerability in its password configuration properties that allow

CVE-2019-8280 CRITICAL
9.8 Mar 08

UltraVNC revision 1203 has out-of-bounds access vulnerability in VNC client inside RAW decoder, which can potentially re

CVE-2019-8275 CRITICAL
9.8 Mar 08

UltraVNC revision 1211 has multiple improper null termination vulnerabilities in VNC server code, which result in out-of

CVE-2019-8274 CRITICAL
9.8 Mar 08

UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer offer handler, w

CVE-2019-8273 CRITICAL
9.8 Mar 08

UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer request handler,

CVE-2019-8272 CRITICAL
9.8 Mar 08

UltraVNC revision 1211 has multiple off-by-one vulnerabilities in VNC server code, which can potentially result in code

CVE-2019-8271 CRITICAL
9.8 Mar 08

UltraVNC revision 1211 has a heap buffer overflow vulnerability in VNC server code inside file transfer handler, which c

CVE-2019-8268 CRITICAL
9.8 Mar 08

UltraVNC revision 1206 has multiple off-by-one vulnerabilities in VNC client code connected with improper usage of Clien

CVE-2019-8266 CRITICAL
9.8 Mar 08

UltraVNC revision 1207 has multiple out-of-bounds access vulnerabilities connected with improper usage of ClientConnecti

CVE-2019-8265 CRITICAL
9.8 Mar 08

UltraVNC revision 1207 has multiple out-of-bounds access vulnerabilities connected with improper usage of SETPIXELS macr

Share

EUVD-2026-40879 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy