Back to bug 2213748

Who When What Removed Added
Marian Rehak 2023-06-09 07:04:56 UTC CC security-response-team
Marian Rehak 2023-06-09 07:08:23 UTC Blocks 2213750
Sandipan Roy 2023-06-09 08:22:20 UTC Blocks 2213750
Sandipan Roy 2023-06-09 08:22:38 UTC Blocks 2213123
Sandipan Roy 2023-06-09 08:40:33 UTC Summary EMBARGOED CVE-2023-3138 libX11: buffer overflows in InitExt.c EMBARGOED CVE-2023-3138 libX11: InitExt.c can overwrite unintended portions of the Display structure if the extension request leads to a buffer overflow
Sandipan Roy 2023-06-09 08:43:31 UTC Doc Text A vulnerability was found in libX11. The security flaw ouccers becuase of the functions in src/InitExt.c in libX11 do not check that the values provided for the Request, Event, or Error IDs are within the bounds of the arrays that those functions write to, using those IDs as array indexes. Instead they trusted that they were called with values provided by an Xserver that was adhering to the bounds specified in the X11 protocol, as all X servers provided by X.Org do.

As the protocol only specifies a single byte for these values, an out-of-bounds value provided by a malicious server (or a malicious proxy-in-the-middle) can only overwrite other portions of the Display structure and not write outside the bounds of the Display structure itself. Testing has found it is possible to at least cause the client to crash with this memory corruption.
Sandipan Roy 2023-06-09 08:43:48 UTC Depends On 2213763, 2213762
RaTasha Tillery-Smith 2023-06-09 12:16:25 UTC Doc Text A vulnerability was found in libX11. The security flaw ouccers becuase of the functions in src/InitExt.c in libX11 do not check that the values provided for the Request, Event, or Error IDs are within the bounds of the arrays that those functions write to, using those IDs as array indexes. Instead they trusted that they were called with values provided by an Xserver that was adhering to the bounds specified in the X11 protocol, as all X servers provided by X.Org do.

As the protocol only specifies a single byte for these values, an out-of-bounds value provided by a malicious server (or a malicious proxy-in-the-middle) can only overwrite other portions of the Display structure and not write outside the bounds of the Display structure itself. Testing has found it is possible to at least cause the client to crash with this memory corruption.
A vulnerability was found in libX11. The security flaw occurs because the functions in src/InitExt.c in libX11 do not check that the values provided for the Request, Event, or Error IDs are within the bounds of the arrays that those functions write to, using those IDs as array indexes. They trust that they were called with values provided by an Xserver adhering to the bounds specified in the X11 protocol, as all X servers provided by X.Org do. As the protocol only specifies a single byte for these values, an out-of-bounds value provided by a malicious server (or a malicious proxy-in-the-middle) can only overwrite other portions of the Display structure and not write outside the bounds of the Display structure itself, possibly causing the client to crash with this memory corruption.
Guilherme de Almeida Suckevicz 2023-06-15 18:31:57 UTC Deadline 2023-06-15
Group security, qe_staff
Summary EMBARGOED CVE-2023-3138 libX11: InitExt.c can overwrite unintended portions of the Display structure if the extension request leads to a buffer overflow CVE-2023-3138 libX11: InitExt.c can overwrite unintended portions of the Display structure if the extension request leads to a buffer overflow
Guilherme de Almeida Suckevicz 2023-06-15 18:32:10 UTC Depends On 2215372
Niels De Graef 2023-06-19 15:38:15 UTC CC ndegraef
Red Hat Bugzilla 2023-07-07 08:31:43 UTC Assignee security-response-team nobody
CC security-response-team

Back to bug 2213748