Name
libvncserver
Version
0.9.13
Type
library
Description
-
Licenses
GPL-2.0-only
PURL
-
CPE
cpe:2.3:*:libvncserver_project:libvncserver:0.9.13:*:*:*:*:*:*:*
Other Versions#
Patches#
#
Title
Author
Resolve
1
libvncclient: free vncRec memory in rfbClientCleanup()
Christian Beier <info@christianbeier.net>
CVE-2020-29260
Vulnerabilities#
Name
Analysis
Description
Exploitable
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.
Exploitable
LibVNCServer versions 0.9.15 and prior (fixed in commit dc78dee) contain null pointer dereference vulnerabilities in the HTTP proxy handlers within httpProcessInput() in httpd.c that allow remote attackers to cause a denial of service by sending specially crafted HTTP requests. Attackers can exploit missing validation of strchr() return values in the CONNECT and GET proxy handling paths to trigger null pointer dereferences and crash the server when httpd and proxy features are enabled.
Exploitable
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.
Patched
libvncclient v0.9.13 was discovered to contain a memory leak via the function rfbClientCleanup().