CVE-2026-44988
Awaiting Analysis Awaiting Analysis - Queue
Heap Buffer Overflow in LibVNCClient Tight Encoding

Publication date: 2026-05-27

Last updated on: 2026-06-01

Assigner: GitHub, Inc.

Description
LibVNCClient is a library for easy implementation of a VNC client. In 0.9.15 and earlier, LibVNCClient's Tight encoding decoder uses fixed-size 2048-pixel scratch buffers for the Gradient filter, but it does not reject Tight rectangles whose width is larger than 2048 pixels. A malicious VNC server can send a crafted FramebufferUpdate rectangle using Tight encoding with NoZlib | ExplicitFilter and the Gradient filter. When a LibVNCClient-based client connects, the client processes the server-controlled rectangle width and writes beyond fixed-size Gradient buffers. This vulnerability is fixed with commit 5b270544b85233668b98161323297d418a8f5fd1.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-27
Last Modified
2026-06-01
Generated
2026-06-16
AI Q&A
2026-05-27
EPSS Evaluated
2026-06-15
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
libvncclient libvncclient to 0.9.15 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

The vulnerability in LibVNCClient's Tight encoding decoder allows a malicious VNC server to cause heap and stack out-of-bounds writes, potentially leading to high confidentiality, integrity, and availability losses.

Such impacts on confidentiality and integrity could affect compliance with standards and regulations like GDPR and HIPAA, which require protection of sensitive data and system integrity.

Specifically, if exploited, this vulnerability could lead to unauthorized data access or system compromise, which would be a violation of these regulations' requirements for data protection and security controls.

Executive Summary

This vulnerability exists in LibVNCClient versions 0.9.15 and earlier. The Tight encoding decoder uses fixed-size 2048-pixel scratch buffers for the Gradient filter but does not reject rectangles wider than 2048 pixels. A malicious VNC server can send a specially crafted FramebufferUpdate rectangle using Tight encoding with NoZlib | ExplicitFilter and the Gradient filter. When a LibVNCClient-based client connects, it processes the server-controlled rectangle width and writes beyond the fixed-size Gradient buffers, causing a buffer overflow.

Impact Analysis

This vulnerability can lead to serious impacts including potential remote code execution, data corruption, or denial of service. Because the buffer overflow is triggered by a malicious VNC server, an attacker could exploit this to execute arbitrary code on the client system, compromise confidentiality, integrity, and availability of the affected system.

Mitigation Strategies

To mitigate this vulnerability, update LibVNCClient to a version that includes the fix from commit 5b270544b85233668b98161323297d418a8f5fd1, which addresses the buffer overflow issue in the Tight encoding decoder.

Detection Guidance

This vulnerability occurs when a LibVNCClient-based client connects to a malicious VNC server that sends a crafted FramebufferUpdate rectangle using Tight encoding with a width exceeding 2048 pixels. Detection involves monitoring VNC client connections for unusually large Tight encoding rectangles or unexpected error logs related to gradient decoding.

Since the vulnerability triggers buffer overflows when processing Tight rectangles wider than 2048 pixels, one practical detection method is to analyze network traffic for VNC FramebufferUpdate messages containing Tight encoding rectangles with widths greater than 2048 pixels.

Suggested commands or approaches include:

  • Use a network packet analyzer like Wireshark or tcpdump to capture VNC traffic (usually on TCP port 5900).
  • Filter captured traffic for FramebufferUpdate messages and inspect Tight encoding rectangles for width fields exceeding 2048 pixels.
  • Example tcpdump command to capture VNC traffic: tcpdump -i <interface> tcp port 5900 -w vnc_traffic.pcap
  • Open the capture in Wireshark and apply a display filter for VNC FramebufferUpdate messages, then manually or programmatically check rectangle widths.
  • Check client-side logs for error messages related to gradient decoding or buffer overflows if the client software logs such events.
Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44988. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart