]> code.ossystems Code Review - openembedded-core.git/commit
libxcursor: CVE-2017-16612
authorJagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Mon, 30 Jul 2018 10:02:36 +0000 (15:32 +0530)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 15 Aug 2018 09:22:32 +0000 (10:22 +0100)
commitbdf13518e79ab949c4320226a399ee4a3913ee30
treea781a29d4e6c7fab95c8a87ae3cefe7ee2776d01
parent4b022a62998e38dbefe1f882bcb9a229485ac9da
libxcursor: CVE-2017-16612

affects: <= 1.1.14

CVE-2017-16612: Fix heap overflows when parsing malicious files

It is possible to trigger heap overflows due to an integer overflow
while parsing images and a signedness issue while parsing comments.

The integer overflow occurs because the chosen limit 0x10000 for
dimensions is too large for 32 bit systems, because each pixel takes 4 bytes.
Properly chosen values allow an overflow which in turn will lead to less
allocated memory than needed for subsequent reads.

The signedness bug is triggered by reading the length of a comment
as unsigned int, but casting it to int when calling the function
XcursorCommentCreate. Turning length into a negative value allows the
check against XCURSOR_COMMENT_MAX_LEN to pass, and the following
addition of sizeof (XcursorComment) + 1 makes it possible to allocate
less memory than needed for subsequent reads.

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
meta/recipes-graphics/xorg-lib/libxcursor/CVE-2017-16612.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-lib/libxcursor_1.1.14.bb