37 vulnerabilities in various VNC implementations

Pavel Cheremushkin from Kaspersky Lab analyzed various implementations of the remote access system VNC (Virtual Network Computing) and identified 37 vulnerabilities caused by memory problems. Vulnerabilities identified in VNC server implementations can only be exploited by an authenticated user, while attacks on vulnerabilities in client code are possible when a user connects to a server controlled by an attacker.

The largest number of vulnerabilities found in the package UltraVNC, which is only available for the Windows platform. A total of 22 vulnerabilities have been identified in UltraVNC. 13 vulnerabilities could potentially lead to code execution in the system, 5 to memory leaks, and 4 to denial of service.
Vulnerabilities fixed in release 1.2.3.0.

In the open library LibVNC (LibVNCServer and LibVNCClient), which used in VirtualBox, 10 vulnerabilities have been identified.
5 vulnerabilities (CVE-2018-20020, CVE-2018-20019, CVE-2018-15127, CVE-2018-15126, CVE-2018-6307) are caused by a buffer overflow and can potentially lead to code execution. 3 vulnerabilities can lead to information leakage, 2 to denial of service.
All problems have already been fixed by the developers, but the changes are still reflected only in the master branch.

Π’ TightVNC (tested cross-platform legacy branch 1.3, since the current version 2.x is released only for Windows), 4 vulnerabilities were found. three problems (CVE-2019-15679, CVE-2019-15678, CVE-2019-8287) are caused by buffer overflows in the InitialiseRFBConnection, rfbServerCutText, and HandleCoRREBBP functions, and could potentially lead to code execution. One problem (CVE-2019-15680) results in a denial of service. Even though the developers of TightVNC were notified about the problems last year, the vulnerabilities remain unpatched.

In a cross-platform package TurboVNC (a fork of TightVNC 1.3 using the libjpeg-turbo library), only one vulnerability was found (CVE-2019-15683), but it is dangerous and, if you have authenticated access to the server, it makes it possible to organize the execution of your code, since when the buffer overflows, it is possible to control the return address. The problem is resolved 23 of August and does not appear in the current release 2.2.3.

Source: opennet.ru

Add a comment