CVE-2026-44040 UltraVNC vncauth.c uses time-seeded libc rand() to generate VNC authentication challenge bytes
Attackers can predict VNC authentication challenges due to weak random number generation, potentially bypassing authentication or brute-forcing credentials.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-44040?
CVE-2026-44040 is a medium-severity vulnerability in uvnc UltraVNC, published on 1 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-338
Which versions are affected by CVE-2026-44040?
It affects 1 product.
Products include Uvnc Ultravnc.
How do I fix CVE-2026-44040?
No fix has been published for CVE-2026-44040 yet. Limit exposure of the affected software until one is available.
Is CVE-2026-44040 being exploited?
There is no known exploitation of CVE-2026-44040 in the wild and no public exploit code.
Other vulnerabilities in uvnc UltraVNC
Sources
Also known as GHSA-j37g-g7hg-vhg6.