Heap-based buffer overflow in LibVNCServer - CVE-2016-9941
Published: December 31, 2016 / Updated: January 2, 2017
Vulnerability identifier: #VU3076
CSH Severity: Medium
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/U:Green
CVE-ID: CVE-2016-9941
CWE-ID: CWE-119
Exploitation vector: Remote access
Exploit availability:
No public exploit available
Vendor: LibVNC
Affected software:
LibVNCServer
LibVNCServer
Detailed vulnerability description
The vulnerability allows a remote attacker to execute arbitrary code on vulnerable client system.
A heap-based buffer overflow vulnerability exists due to boundary error in rfbproto.c in LibVNCClient software, which is bundled with LibVNCServer. A remote attacker can trick the victim to connect to malicious VNC server, send a specially crafted FramebufferUpdate message containing a subrectangle outside of the client drawing area and trigger buffer overflow.
Successful exploitation of the vulnerability may allow an attacker to execute arbitrary code on vulnerable VNC client.
A heap-based buffer overflow vulnerability exists due to boundary error in rfbproto.c in LibVNCClient software, which is bundled with LibVNCServer. A remote attacker can trick the victim to connect to malicious VNC server, send a specially crafted FramebufferUpdate message containing a subrectangle outside of the client drawing area and trigger buffer overflow.
Successful exploitation of the vulnerability may allow an attacker to execute arbitrary code on vulnerable VNC client.
How to mitigate CVE-2016-9941
Update to version 0.9.11:
https://github.com/LibVNC/libvncserver/tree/LibVNCServer-0.9.11
https://github.com/LibVNC/libvncserver/tree/LibVNCServer-0.9.11