forked from pool/xorg-x11-server
Stefan Dirsch
37722e6dc6
* XkbGetKbdByName use-after-free (ZDI-CAN-19530, CVE-2022-4283, bsc#1206017) - U_0001-Xtest-disallow-GenericEvents-in-XTestSwapFakeInput.patch * Server XTestSwapFakeInput stack overflow (ZDI-CAN 19265, CVE-2022-46340, bsc#1205874) - U_0002-Xi-return-an-error-from-XI-property-changes-if-verif.patch * Xi: return an error from XI property changes if verification failed (no ZDI-CAN id, no CVE id, bsc#1205875) - U_0003-Xi-avoid-integer-truncation-in-length-check-of-ProcX.patch * Server XIChangeProperty out-of-bounds access (ZDI-CAN 19405, CVE-2022-46344, bsc#1205876) - U_0004-Xi-disallow-passive-grabs-with-a-detail-255.patch * Server XIPassiveUngrabDevice out-of-bounds access (ZDI-CAN 19381, CVE-2022-46341, bsc#1205877) - U_0005-Xext-free-the-screen-saver-resource-when-replacing-i.patch * Server ScreenSaverSetAttributes use-after-free (ZDI-CAN 19404, CVE-2022-46343, bsc#1205878) - U_0006-Xext-free-the-XvRTVideoNotify-when-turning-off-from-.patch * Server XvdiSelectVideoNotify use-after-free (ZDI-CAN 19400, CVE-2022-46342, bsc#1205879) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=843
36 lines
1020 B
Diff
36 lines
1020 B
Diff
From 79916ec4eed724b481d24d97686d3ed05a939859 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Mon, 5 Dec 2022 15:55:54 +1000
|
|
Subject: [PATCH xserver] xkb: reset the radio_groups pointer to NULL after
|
|
freeing it
|
|
|
|
Unlike other elements of the keymap, this pointer was freed but not
|
|
reset. On a subsequent XkbGetKbdByName request, the server may access
|
|
already freed memory.
|
|
|
|
ZDI-CAN-19530
|
|
|
|
This vulnerability was discovered by:
|
|
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
---
|
|
xkb/xkbUtils.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
|
|
index dd089c2046..3f5791a183 100644
|
|
--- a/xkb/xkbUtils.c
|
|
+++ b/xkb/xkbUtils.c
|
|
@@ -1326,6 +1326,7 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
|
}
|
|
else {
|
|
free(dst->names->radio_groups);
|
|
+ dst->names->radio_groups = NULL;
|
|
}
|
|
dst->names->num_rg = src->names->num_rg;
|
|
|
|
--
|
|
2.38.1
|
|
|