xserver/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Peter Hutterer c489be39fc xkb: widen size_syms, num_syms, size_acts, num_acts to unsigned int
Fields in XkbClientMapRec and XkbServerMapRec that denote size/num
and are unsigned short can result in truncations. For example
when XkbResizeKeyType() computes the new size_syms value as
(nTotal * 15) / 10, the result may be implicitly truncated to 16
bits on assignment. This causes an undersized calloc allocation, and the
subsequent copy loop writes based on the actual (untruncated) key count,
resulting in a heap buffer overflow. A similar truncation may happen
in XkbResizeKeySyms() and XkbResizeKeyActions().

Widen the fields from unsigned short to unsigned int. These are internal
server structures, not wire protocol types.

This vulnerability was discovered by:
  Anonymous working with TrendAI Zero Day Initiative

ZDI-CAN-31834

CVE-2026-93518

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Assisted-by: Claude:claude-opus-4-6
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2341>
(cherry picked from commit 89101a6c66)
2026-10-17 18:59:23 +02:00
..
.gitignore
callback.h dix: unexport callback manager init / teardown functions 2024-03-12 15:18:17 +00:00
client.h
closure.h
colormap.h
colormapst.h
cursor.h
cursorstr.h
displaymode.h
dix-config-apple-verbatim.h
dix.h
dixaccess.h
dixfont.h
dixfontstr.h
dixstruct.h os: split off internal definitions from client.h 2024-10-10 13:45:29 +00:00
events.h
eventstr.h
exevents.h
extension.h
extinit.h present: unexport present_extension_init() 2025-06-12 17:21:45 +02:00
extnsionst.h
fd_notify.h
fourcc.h
gc.h
gcstruct.h
globals.h
glx_extinit.h
glxvndabi.h
hotplug.h config: unexport config_pre_init() 2025-02-06 16:24:01 +01:00
input.h include: move private definitions out of input.h 2024-09-01 17:59:23 +00:00
inputstr.h Xi: unexport AssignTypeAndName() 2025-06-12 17:21:46 +02:00
inpututils.h
list.h
meson.build
misc.h
miscstruct.h
nonsdk_extinit.h
opaque.h
optionstr.h
os.h
pixmap.h
pixmapstr.h
privates.h
probes.h
property.h
propertyst.h
protocol-versions.h
ptrveloc.h
region.h
regionstr.h
resource.h
rgb.h
screenint.h
scrnintstr.h
servermd.h
swaprep.h
swapreq.h
validate.h
vidmodestr.h
window.h
windowstr.h
xkb-config.h.in
xkbrules.h
xkbsrv.h
xkbstr.h
xorg-config.h.meson.in
xorg-server.h.meson.in
Xprintf.h os: drop Xasprintf() and Xvasprintf() 2025-06-12 16:54:13 +02:00
xserver-properties.h
Xserver.d Remove "All rights reserved" from Oracle copyright notices 2023-02-25 09:40:41 -08:00
xwin-config.h.meson.in