Blame SOURCES/0007-xkb-reset-the-radio_groups-pointer-to-NULL-after-fre.patch

26c1df
From 9c70f90b24ba5de5eeb8a854c25f72a38d497fb7 Mon Sep 17 00:00:00 2001
26c1df
From: Peter Hutterer <peter.hutterer@who-t.net>
26c1df
Date: Mon, 5 Dec 2022 15:55:54 +1000
26c1df
Subject: [PATCH xserver 7/7] xkb: reset the radio_groups pointer to NULL after
26c1df
 freeing it
26c1df
26c1df
Unlike other elements of the keymap, this pointer was freed but not
26c1df
reset. On a subsequent XkbGetKbdByName request, the server may access
26c1df
already freed memory.
26c1df
26c1df
CVE-2022-46283, ZDI-CAN-19530
26c1df
26c1df
This vulnerability was discovered by:
26c1df
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
26c1df
26c1df
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
26c1df
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
26c1df
---
26c1df
 xkb/xkbUtils.c | 1 +
26c1df
 1 file changed, 1 insertion(+)
26c1df
26c1df
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
26c1df
index dd089c2046..3f5791a183 100644
26c1df
--- a/xkb/xkbUtils.c
26c1df
+++ b/xkb/xkbUtils.c
26c1df
@@ -1326,6 +1326,7 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
26c1df
         }
26c1df
         else {
26c1df
             free(dst->names->radio_groups);
26c1df
+            dst->names->radio_groups = NULL;
26c1df
         }
26c1df
         dst->names->num_rg = src->names->num_rg;
26c1df
 
26c1df
-- 
26c1df
2.38.1
26c1df