#VU3077 Heap-based buffer overflow in LibVNCServer


Published: 2017-01-02

Vulnerability identifier: #VU3077

Vulnerability risk: Medium

CVSSv3.1: 7.2 [CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2016-9942

CWE-ID: CWE-119

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
LibVNCServer
Server applications / Remote management servers, RDP, SSH

Vendor: LibVNC

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 ultra.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 with the Ultra type tile, such that the LZO payload decompressed length exceeds what is specified by the tile dimensions, and trigger buffer overflow.

Successful exploitation of the vulnerability may allow an attacker to execute arbitrary code on vulnerable VNC client.

Mitigation
Update to version 0.9.11:
https://github.com/LibVNC/libvncserver/tree/LibVNCServer-0.9.11

Vulnerable software versions

LibVNCServer: 0.9.9 - 0.9.10


External links
http://github.com/LibVNC/libvncserver/pull/137
http://github.com/LibVNC/libvncserver/releases/tag/LibVNCServer-0.9.11


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability