From 0e51dd86183ab3a3ea814d8141ccb4bf2b378f5e Mon Sep 17 00:00:00 2001 From: zhanzhimin Date: Thu, 3 Jun 2021 16:24:24 +0800 Subject: [PATCH] fix CVE-2021-3472 (cherry picked from commit ce810965505021f5fc5dc543cf2f85a984461134) --- backport-CVE-2021-3472.patch | 36 ++++++++++++++++++++++++++++++++++++ xorg-x11-server.spec | 9 ++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 backport-CVE-2021-3472.patch diff --git a/backport-CVE-2021-3472.patch b/backport-CVE-2021-3472.patch new file mode 100644 index 0000000..fd5bee9 --- /dev/null +++ b/backport-CVE-2021-3472.patch @@ -0,0 +1,36 @@ +From 7aaf54a1884f71dc363f0b884e57bcb67407a6cd Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb +Date: Sun, 21 Mar 2021 18:38:57 +0100 +Subject: [PATCH] Fix XChangeFeedbackControl() request underflow + +CVE-2021-3472 / ZDI-CAN-1259 + +This vulnerability was discovered by: +Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + +Signed-off-by: Matthieu Herrb + +--- + Xi/chgfctl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c +index 1de4da9..7a597e4 100644 +--- a/Xi/chgfctl.c ++++ b/Xi/chgfctl.c +@@ -464,8 +464,11 @@ ProcXChangeFeedbackControl(ClientPtr client) + break; + case StringFeedbackClass: + { +- xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]); ++ xStringFeedbackCtl *f; + ++ REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, ++ sizeof(xStringFeedbackCtl)); ++ f = ((xStringFeedbackCtl *) &stuff[1]); + if (client->swapped) { + if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) + return BadLength; +-- +2.23.0 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 146851c..defd3d2 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -16,7 +16,7 @@ Name: xorg-x11-server Version: 1.20.8 -Release: 4 +Release: 5 Summary: X.Org X11 X server License: MIT and GPLv2 URL: https://www.x.org @@ -85,6 +85,7 @@ Patch0033: CVE-2020-14345.patch Patch0034: backport-CVE-2020-25712.patch Patch0035: backport-CVE-2020-14360.patch Patch0036: backport-CVE-2020-14347.patch +Patch0037: backport-CVE-2021-3472.patch BuildRequires: audit-libs-devel autoconf automake bison dbus-devel flex flex-devel git BuildRequires: systemtap-sdt-devel libtool pkgconfig @@ -327,6 +328,12 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %{_libdir}/xorg/protocol.txt %changelog +* Thu Jun 03 2021 zhanzhimin - 1.20.8-5 +- Type:CVE +- Id:CVE-2021-3472 +- SUG:NA +- DESC:fix CVE-2021-3472 + * Fri Feb 19 2020 jinzhimin - 1.20.8-4 - Type:CVE - Id:CVE-2020-14347 CVE-2020-14360 CVE-2020-25712 -- Gitee