CVE-2026-32853
Received Received - Intake
Heap Out-of-Bounds Read in LibVNCServer UltraZip Causes Crash

Publication date: 2026-03-24

Last updated on: 2026-03-25

Assigner: VulnCheck

Description
LibVNCServer versions 0.9.15 and prior (fixed in commit 009008e) contain a heap out-of-bounds read vulnerability in the UltraZip encoding handler that allows a malicious VNC server to cause information disclosure or application crash. Attackers can exploit improper bounds checking in the HandleUltraZipBPP() function by manipulating subrectangle header counts to read beyond the allocated heap buffer.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-24
Last Modified
2026-03-25
Generated
2026-05-07
AI Q&A
2026-03-24
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
libvncserver_project libvncserver to 0.9.15 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-125 The product reads data past the end, or before the beginning, of the intended buffer.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-32853 is a heap out-of-bounds read vulnerability in LibVNCServer versions 0.9.15 and earlier, specifically in the UltraZip encoding handler within the function HandleUltraZipBPP().

The vulnerability occurs because the function uses an attacker-controlled value (numCacheRects) derived from the rectangle header field rect.r.x to iterate over subrectangles without validating that the pointer remains within the bounds of the decompressed data buffer.

This lack of bounds checking allows a malicious VNC server to specify a large number of subrectangles, causing the client to read beyond the allocated heap buffer during memory copy operations.

As a result, this can lead to information disclosure by leaking adjacent heap memory or cause application crashes due to invalid memory reads.


How can this vulnerability impact me? :

This vulnerability can impact you by allowing a malicious VNC server to cause your LibVNCClient application to read memory beyond its allocated heap buffer.

The consequences include potential information disclosure, where sensitive data adjacent to the buffer may be leaked, or denial of service through application crashes.

Since UltraZip encoding is enabled by default and no authentication is required on the server side, any application using LibVNCClient versions up to 0.9.15 is vulnerable when connecting to untrusted servers.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability occurs in LibVNCServer versions 0.9.15 and prior, specifically in the UltraZip encoding handler within the HandleUltraZipBPP() function. Detection involves identifying if your system is running a vulnerable version of LibVNCServer or LibVNCClient and monitoring for unusual or malformed UltraZip-encoded VNC traffic.

Since the vulnerability is triggered by a malicious VNC server sending a FramebufferUpdate message with an excessively large subrectangle count (rect.r.x), network detection can focus on inspecting VNC traffic for abnormal UltraZip encoding frames with unusually large subrectangle counts.

Suggested commands to detect vulnerable versions or suspicious activity include:

  • Check installed libvncserver version: `dpkg -l | grep libvncserver` or `rpm -qa | grep libvncserver`
  • Use network packet capture tools like tcpdump or Wireshark to filter VNC traffic and look for UltraZip encoding frames (encoding type 0xFFFF0009) with large subrectangle counts:
  • `tcpdump -i <interface> -w vnc_traffic.pcap port 5900`
  • Analyze the capture in Wireshark by filtering for UltraZip encoding and inspecting FramebufferUpdate messages for abnormal rect.r.x values.

Additionally, monitoring application logs for errors related to UltraZip subrectangle parsing or crashes in libvncclient may help detect exploitation attempts.


What immediate steps should I take to mitigate this vulnerability?

The primary mitigation step is to update LibVNCServer and LibVNCClient to a version that includes the fix introduced in commit 009008e, which adds explicit bounds checking to prevent heap out-of-bounds reads in the UltraZip encoding handler.

If an immediate update is not possible, consider the following temporary mitigations:

  • Restrict connections to trusted VNC servers only, avoiding connections to untrusted or unknown servers.
  • Use network-level controls such as firewalls or intrusion detection/prevention systems to block or alert on suspicious UltraZip-encoded VNC traffic, especially those with unusually large subrectangle counts.
  • Disable or avoid using UltraZip encoding if possible, or configure the client to reject or ignore UltraZip-encoded FramebufferUpdate messages.

Monitoring application logs for errors or crashes related to UltraZip parsing can also help detect exploitation attempts and respond accordingly.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart