From 35a1a047e3c8a90d14c5ba6815582bbada1a5691 Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Wed, 1 Feb 2023 15:11:18 +0100
Subject: [PATCH] Import Debian changes 2:1.20.11-1+deb11u5

---
 debian/changelog                              |  6 ++++
 ...-use-after-free-in-DeepCopyPointerCl.patch | 30 +++++++++++++++++++
 debian/patches/series                         |  1 +
 3 files changed, 37 insertions(+)
 create mode 100644 debian/patches/20_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch

diff --git a/debian/changelog b/debian/changelog
index 018f738..28a8b41 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.20.11-1+deb11u5) bullseye-security; urgency=high
+
+  * Xi: fix potential use-after-free in DeepCopyPointerClasses (CVE-2023-0494)
+
+ -- Julien Cristau <jcristau@debian.org>  Wed, 01 Feb 2023 15:11:18 +0100
+
 xorg-server (2:1.20.11-1+deb11u4) bullseye-security; urgency=high
 
   * Non-maintainer upload by the Security Team.
diff --git a/debian/patches/20_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch b/debian/patches/20_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch
new file mode 100644
index 0000000..bbadc9b
--- /dev/null
+++ b/debian/patches/20_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch
@@ -0,0 +1,30 @@
+From 7150ba655c0cc08fa6ded309b81265bb672f2869 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 25 Jan 2023 11:41:40 +1000
+Subject: [PATCH xserver] Xi: fix potential use-after-free in
+ DeepCopyPointerClasses
+
+CVE-2023-0494, ZDI-CAN 19596
+
+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>
+---
+ Xi/exevents.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/Xi/exevents.c
++++ b/Xi/exevents.c
+@@ -575,8 +575,10 @@ DeepCopyPointerClasses(DeviceIntPtr from
+             memcpy(to->button->xkb_acts, from->button->xkb_acts,
+                    sizeof(XkbAction));
+         }
+-        else
++        else {
+             free(to->button->xkb_acts);
++            to->button->xkb_acts = NULL;
++        }
+ 
+         memcpy(to->button->labels, from->button->labels,
+                from->button->numButtons * sizeof(Atom));
diff --git a/debian/patches/series b/debian/patches/series
index 771ae65..c31a377 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -19,3 +19,4 @@
 17_Xi-return-an-error-from-XI-property-changes-if-verif.patch
 18_Xi-avoid-integer-truncation-in-length-check-of-ProcX.patch
 19_xkb-reset-the-radio_groups-pointer-to-NULL-after-fre.patch
+20_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch
-- 
GitLab