CVE-2026-44988: LibVNCClient Tight Gradient decoding allows malicious server-triggered heap/stack OOB writes
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.
HarborGuard Analysis
HarborGuard analysisSynopsis
A heap and stack out-of-bounds write vulnerability exists in LibVNCClient version 0.9.15 and earlier, affecting the Tight encoding decoder's Gradient filter. The flaw is reachable over the network and requires no authentication, but the connecting VNC client must initiate a session with a malicious VNC server, making victim interaction a prerequisite. Successful exploitation gives the attacker the ability to read sensitive memory, corrupt heap or stack data, and execute arbitrary code in the client process. HarborGuard tracks this advisory and will make a patched-image rebuild available the moment an upstream fix version is published.
HarborGuard Coverage
Detection of CVE-2026-44988 is available across every HarborGuard environment; the CVE is ingested from upstream advisory feeds within minutes of publication and matched against all customer images, including custom-built images that bundle LibVNCClient. Any image in a connected registry or CI pipeline that ships libvncserver 0.9.15 or earlier is flagged automatically.
AvailableTriage is available using the CVSS v3.1 score of 8.8 (HIGH), weighted against each customer environment's compliance policy to surface the issue to the correct team inbox. Per-environment policy rules can escalate or suppress routing based on asset classification, network exposure, or regulatory context.
AvailableBecause no fix version has been published upstream, HarborGuard re-checks the advisory on every ingest cycle and will make a patched-image rebuild available automatically the moment a fixed release appears. For customers with auto-remediation enabled, the rebuild, regression test run, and PR against affected workloads will be initiated without manual intervention as soon as an upstream fix is confirmed.
Pending upstreamExploit Conditions
- Network reachabilityRequired
The attacker operates a reachable VNC server on the network; the vulnerable client must connect to it over the network for the malicious FramebufferUpdate to be delivered.
- AuthenticationNot required
No authentication or account credentials are needed; any connecting client that speaks the Tight encoding protocol is exposed when it contacts a malicious server.
- Victim interactionRequired
A user or automated process must initiate a VNC client session to the attacker-controlled server, making social engineering or malicious redirection a necessary step.
- Attack complexityDetail
Exploitation is reliable and condition-free once the client connects; no race conditions, memory-layout guessing, or special environmental factors are required to trigger the out-of-bounds write.
Blast Radius
- Reads arbitrary memory from the VNC client process, exposing session credentials, clipboard contents, or other in-memory data.
- Overwrites heap and stack memory beyond the fixed 2048-pixel Gradient buffers, corrupting client-side data structures.
- Enables execution of attacker-controlled code within the client process at the privilege level of the connecting user.
- Crashes the VNC client process if code execution is not achieved, disrupting any remote-desktop session or automated workflow relying on LibVNCClient.
How HarborGuard Handles This
Available on HarborGuard: continuous monitoring of this advisory is active across every connected environment, with the CVE matched against any image bundling libvncserver 0.9.15 or earlier. Because no upstream fix version exists yet, HarborGuard re-evaluates the advisory on each ingest cycle and will surface a patched-image rebuild automatically the moment a fix is published. In the interim, compensating controls worth considering include network-policy rules that restrict which VNC server endpoints client workloads are permitted to reach, egress filtering to prevent connections to untrusted VNC endpoints, and feature-flag or configuration gating to disable Tight encoding support in deployments where it is not operationally required. For customers with auto-remediation enabled, the full rebuild, regression run, and PR flow will trigger without manual steps as soon as an upstream release is confirmed.
Metrics
- CVSS v3.1
- 8.8
- Severity
- HIGH
- Fixed in
- —
- Affected Products
- 1
- LibVNC / libvncserver<= 0.9.15
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H