Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 919803 (CVE-2023-6377, CVE-2023-6478) - <x11-base/xorg-server-21.1.10, <x11-base/xwayland-23.2.3: Multiple vulnerabilities
Summary: <x11-base/xorg-server-21.1.10, <x11-base/xwayland-23.2.3: Multiple vulnerabil...
Status: RESOLVED FIXED
Alias: CVE-2023-6377, CVE-2023-6478
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: Normal critical (vote)
Assignee: Gentoo Security
URL: https://lists.x.org/archives/xorg-ann...
Whiteboard: A2 [glsa+]
Keywords:
Depends on: 919890 919891
Blocks:
  Show dependency tree
 
Reported: 2023-12-13 04:47 UTC by Sam James
Modified: 2024-01-31 11:36 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-13 04:47:37 UTC
Issues in X.Org X server prior to 21.1.10 and Xwayland prior to 23.2.3
========================================================================

Multiple issues have been found in the X server and Xwayland implementations 
published by X.Org for which we are releasing security fixes for in
xorg-server-21.1.10 and xwayland-23.2.3.

1) CVE-2023-6377 can be triggered by forcing a logical device change on a device
with buttons which will result in an out-of-bounds memory write.

2) CVE-2023-6478 can be triggered by sending a specially crafted
request RRChangeProviderProperty or RRChangeOutputProperty. This will trigger
an integer overflow and lead to disclosure of information.

------------------------------------------------------------------------

1) CVE-2023-6377: X.Org server: Out-of-bounds memory write in XKB button actions

Introduced in: xorg-server-1.6.0 (2009)
Fixed in: xorg-server-21.1.10 and xwayland-23.2.3
Fix: https://gitlab.freedesktop.org/xorg/xserver/-/commit/0c1a93d319558fe3ab2d94f51d174b4f93810afd
Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative

A device has XKB button actions for each button on the device. When a logical
device switch happens (e.g. moving from a touchpad to a mouse), the server 
re-calculates the information available on the respective master device
(typically the Virtual Core Pointer). This re-calculation only allocated enough
memory for a single XKB action rather instead of enough for the newly active
physical device's number of button. As a result, querying or changing the XKB
button actions results in out-of-bounds memory reads and writes.

This may lead to local privilege escalation if the server is run as root or
remote code execution (e.g. x11 over ssh).

xorg-server-21.1.10 and xwayland-23.2.3 have been patched to fix this issue.


2) CVE-2023-6478: X.Org server: Out-of-bounds memory read in RRChangeOutputProperty and RRChangeProviderProperty

Introduced in: xorg-server-1.4.0 (2007) and xorg-server-1.13.0 (2012), respectively
Fixed in: xorg-server-21.1.10 and xwayland-23.2.3
Fix: https://gitlab.freedesktop.org/xorg/xserver/-/commit/14f480010a93ff962fef66a16412fafff81ad632
Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative

This fixes an OOB read and the resulting information disclosure.

Length calculation for the request was clipped to a 32-bit integer. With
the correct stuff->nUnits value the expected request size was
truncated, passing the REQUEST_FIXED_SIZE check.

The server then proceeded with reading at least stuff->nUnits bytes
(depending on stuff->format) from the request and stuffing whatever it
finds into the property. In the process it would also allocate at least
stuff->nUnits bytes, i.e. 4GB.

See also CVE-2022-46344 where this issue was fixed for other requests.

xorg-server-21.1.10 and xwayland-23.2.3 have been patched to fix this issue.
Comment 1 Larry the Git Cow gentoo-dev 2023-12-13 17:41:41 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a05add7c742e8df0d21cf9a8230759d3e87b95bc

commit a05add7c742e8df0d21cf9a8230759d3e87b95bc
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2023-12-13 17:39:24 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2023-12-13 17:41:37 +0000

    x11-base/xwayland: Version bump to 23.2.3
    
    Bug: https://bugs.gentoo.org/919803
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-base/xwayland/Manifest               |   1 +
 x11-base/xwayland/xwayland-23.2.3.ebuild | 109 +++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fc981d27464d1df9b95d5a24217a670cbff5e88

commit 7fc981d27464d1df9b95d5a24217a670cbff5e88
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2023-12-13 17:37:00 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2023-12-13 17:41:37 +0000

    x11-base/xorg-server: Version bump to 21.1.10
    
    Bug: https://bugs.gentoo.org/919803
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-base/xorg-server/Manifest                   |   1 +
 x11-base/xorg-server/xorg-server-21.1.10.ebuild | 192 ++++++++++++++++++++++++
 2 files changed, 193 insertions(+)
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-14 05:08:17 UTC
Thanks! Please stable when ready.
Comment 3 Larry the Git Cow gentoo-dev 2024-01-17 16:36:07 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af7147991b6712d002ebe15e1c667752e879a30e

commit af7147991b6712d002ebe15e1c667752e879a30e
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2024-01-17 16:34:35 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2024-01-17 16:36:02 +0000

    x11-base/xorg-server: Drop old versions
    
    Bug: https://bugs.gentoo.org/919803
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-base/xorg-server/Manifest                      |   1 -
 ...1.9-xephyr-Don-t-check-for-SeatId-anymore.patch |  66 -------
 x11-base/xorg-server/xorg-server-21.1.10.ebuild    | 192 --------------------
 x11-base/xorg-server/xorg-server-21.1.9.ebuild     | 194 ---------------------
 4 files changed, 453 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d94abd39d8319993255f94cc6aaa352c81ec9f52

commit d94abd39d8319993255f94cc6aaa352c81ec9f52
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2024-01-17 16:35:23 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2024-01-17 16:36:02 +0000

    x11-base/xwayland: Drop old versions
    
    Bug: https://bugs.gentoo.org/919803
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-base/xwayland/Manifest               |   1 -
 x11-base/xwayland/xwayland-23.2.2.ebuild | 110 -------------------------------
 2 files changed, 111 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2024-01-31 11:35:38 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/data/glsa.git/commit/?id=7b7fdd5a86cd28fc118fb133c98e81e2b15e0b92

commit 7b7fdd5a86cd28fc118fb133c98e81e2b15e0b92
Author:     GLSAMaker <glsamaker@gentoo.org>
AuthorDate: 2024-01-31 11:33:19 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2024-01-31 11:35:22 +0000

    [ GLSA 202401-30 ] X.Org X Server, XWayland: Multiple Vulnerabilities
    
    Bug: https://bugs.gentoo.org/916254
    Bug: https://bugs.gentoo.org/919803
    Bug: https://bugs.gentoo.org/922395
    Signed-off-by: GLSAMaker <glsamaker@gentoo.org>
    Signed-off-by: Hans de Graaff <graaff@gentoo.org>

 glsa-202401-30.xml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)