]> source.dussan.org Git - tigervnc.git/commit
Restrict PixelBuffer dimensions to safe values
authorPierre Ossman <ossman@cendio.se>
Tue, 10 Sep 2019 13:21:03 +0000 (15:21 +0200)
committerPierre Ossman <ossman@cendio.se>
Fri, 15 Nov 2019 09:53:41 +0000 (10:53 +0100)
commit996356b6c65ca165ee1ea46a571c32a1dc3c3821
treef19ab03c6537cae21dfb551fccac4350cbcc68fd
parent53f913a76196c7357d4858bfbf2c33caa9181bae
Restrict PixelBuffer dimensions to safe values

We do a lot of calculations based on pixel coordinates and we need
to make sure they do not overflow. Restrict the maximum dimensions
we support rather than try to switch over all calculations to use
64 bit integers.

This prevents attackers from from injecting code by specifying a
huge framebuffer size and relying on the values overflowing to
access invalid areas of the heap.

This primarily affects the client which gets both the screen
dimensions and the pixel contents from the remote side. But the
server might also be affected as a client can adjust the screen
dimensions, as can applications inside the session.

Issue found by Pavel Cheremushkin from Kaspersky Lab.
common/rfb/PixelBuffer.cxx