Summary: | <x11-libs/libX11-1.8.7: Multiple vulnerabilities | ||
---|---|---|---|
Product: | Gentoo Security | Reporter: | Sam James <sam> |
Component: | Vulnerabilities | Assignee: | Gentoo Security <security> |
Status: | IN_PROGRESS --- | ||
Severity: | normal | CC: | bertrand |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://www.openwall.com/lists/oss-security/2023/10/03/1 | ||
Whiteboard: | B3 [glsa?] | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 915193 | ||
Bug Blocks: |
Description
Sam James
2023-10-03 18:19:31 UTC
2) CVE-2023-43786 libX11: stack exhaustion from infinite recursion in PutSubImage() Introduced in: X11R2 [released Feb. 1988] Fixed in: libX11 1.8.7 Found by: Yair Mizrahi of the JFrog Vulnerability Research team Fixed by: Alan Coopersmith of Oracle Solaris Engineering When splitting a single line of pixels into chunks that fit in a single request (not using the BIG-REQUESTS extension) to send to the X server, the code did not take into account the number of bits per pixel, so would just loop forever finding it needed to send more pixels than fit in the given request size and not breaking them down into a small enough chunk to fit. An XPM file was provided that triggered this bug when loaded via libXpm's XpmReadFileToPixmap() function, which in turn calls XPutImage() and hit this bug. Further hardening to prevent similar bugs was done in libX11 by making XPutImage() clip images to the maximum X protocol pixmap size (limited by the use of unsigned 16-bit integers for height & width) when writing to X pixmaps, and by making XCreatePixmap() generate X errors if a height or width was specified that did not fit into an unsigned 16-bit integer. In libXpm, hardening was done to return error codes for any call that would have passed out-of-bounds width or height values to XCreatePixmap(). Fix: https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/204c3393c4c90a29ed6bef64e43849536e863a86 Hardening: https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/73a37d5f2fcadd6540159b432a70d80f442ddf4a https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/b4031fc023816aca07fbd592ed97010b9b48784b https://gitlab.freedesktop.org/xorg/lib/libxpm/-/commit/84fb14574c039f19ad7face87eb9acc31a50701c 3) CVE-2023-43787 libX11: integer overflow in XCreateImage() leading to a heap overflow Introduced in: X11R2 [released Feb. 1988] Fixed in: libX11 1.8.7 Found by: Yair Mizrahi of the JFrog Vulnerability Research team Fixed by: Yair Mizrahi of the JFrog Vulnerability Research team When creating an image, there was no validation that the multiplication of the caller-provided width by the visual's bits_per_pixel did not overflow and thus result in the allocation of a buffer too small to hold the data that would be copied into it. An XPM file was provided that triggered this bug when loaded via libXpm's XpmReadFileToPixmap() function, which in turn calls XCreateImage() and hit this bug. Further hardening to prevent similar bugs was done in libXpm to return error codes for any call to XCreateImage() that would have resulted in this calculation overflowing. Fix: https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/7916869d16bdd115ac5be30a67c3749907aea6a0 Hardening: https://gitlab.freedesktop.org/xorg/lib/libxpm/-/commit/91f887b41bf75648df725a4ed3be036da02e911e Please stable when ready. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f44d120180959aa208e78a9f71e2bde7435d32b6 commit f44d120180959aa208e78a9f71e2bde7435d32b6 Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2023-10-05 12:36:49 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2023-10-05 12:37:43 +0000 x11-libs/libX11: Drop old versions Bug: https://bugs.gentoo.org/915129 Signed-off-by: Matt Turner <mattst88@gentoo.org> x11-libs/libX11/Manifest | 1 - x11-libs/libX11/libX11-1.8.6.ebuild | 45 ------------------------------------- 2 files changed, 46 deletions(-) |