!13 fix CVE-2024-31080 and CVE-2024-31081
From: @cenhuilin Reviewed-by: @dou33 Signed-off-by: @dou33
This commit is contained in:
commit
4c9bd99921
45
0001-fix-CVE-2024-31080.patch
Normal file
45
0001-fix-CVE-2024-31080.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 96798fc1967491c80a4d0c8d9e0a80586cb2152b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||||
|
Date: Sun, 28 Apr 2024 16:28:48 +0800
|
||||||
|
Subject: [PATCH] Xi: ProcXIGetSelectedEvents needs to use unswapped length to send reply
|
||||||
|
CVE-2024-31080
|
||||||
|
|
||||||
|
Reported-by: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69762
|
||||||
|
Fixes: 53e821ab
|
||||||
|
|
||||||
|
("Xi: add request processing for XIGetSelectedEvents.")
|
||||||
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||||
|
Part-of: <!1463>
|
||||||
|
---
|
||||||
|
Xi/xiselectev.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c
|
||||||
|
index edcb8a0..ac14949 100644
|
||||||
|
--- a/Xi/xiselectev.c
|
||||||
|
+++ b/Xi/xiselectev.c
|
||||||
|
@@ -349,6 +349,7 @@ ProcXIGetSelectedEvents(ClientPtr client)
|
||||||
|
InputClientsPtr others = NULL;
|
||||||
|
xXIEventMask *evmask = NULL;
|
||||||
|
DeviceIntPtr dev;
|
||||||
|
+ uint32_t length;
|
||||||
|
|
||||||
|
REQUEST(xXIGetSelectedEventsReq);
|
||||||
|
REQUEST_SIZE_MATCH(xXIGetSelectedEventsReq);
|
||||||
|
@@ -418,10 +419,12 @@ ProcXIGetSelectedEvents(ClientPtr client)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* save the value before SRepXIGetSelectedEvents swaps it */
|
||||||
|
+ length = reply.length;
|
||||||
|
WriteReplyToClient(client, sizeof(xXIGetSelectedEventsReply), &reply);
|
||||||
|
|
||||||
|
if (reply.num_masks)
|
||||||
|
- WriteToClient(client, reply.length * 4, buffer);
|
||||||
|
+ WriteToClient(client, length * 4, buffer);
|
||||||
|
|
||||||
|
free(buffer);
|
||||||
|
return Success;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
43
0002-fix-CVE-2024-31081.patch
Normal file
43
0002-fix-CVE-2024-31081.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
From 3e77295f888c67fc7645db5d0c00926a29ffecee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||||
|
Date: Sun, 28 Apr 2024 16:35:36 +0800
|
||||||
|
Subject: [PATCH] Xi: ProcXIPassiveGrabDevice needs to use unswapped length to send reply
|
||||||
|
CVE-2024-31081
|
||||||
|
|
||||||
|
Fixes: d220d690
|
||||||
|
|
||||||
|
("Xi: add GrabButton and GrabKeysym code.")
|
||||||
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||||
|
Part-of: <!1463>
|
||||||
|
---
|
||||||
|
Xi/xipassivegrab.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
|
||||||
|
index 2769fb7..c925e3c 100644
|
||||||
|
--- a/Xi/xipassivegrab.c
|
||||||
|
+++ b/Xi/xipassivegrab.c
|
||||||
|
@@ -93,6 +93,7 @@ ProcXIPassiveGrabDevice(ClientPtr client)
|
||||||
|
GrabParameters param;
|
||||||
|
void *tmp;
|
||||||
|
int mask_len;
|
||||||
|
+ uint32_t length;
|
||||||
|
|
||||||
|
REQUEST(xXIPassiveGrabDeviceReq);
|
||||||
|
REQUEST_FIXED_SIZE(xXIPassiveGrabDeviceReq,
|
||||||
|
@@ -247,9 +248,11 @@ ProcXIPassiveGrabDevice(ClientPtr client)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* save the value before SRepXIPassiveGrabDevice swaps it */
|
||||||
|
+ length = rep.length;
|
||||||
|
WriteReplyToClient(client, sizeof(rep), &rep);
|
||||||
|
if (rep.num_modifiers)
|
||||||
|
- WriteToClient(client, rep.length * 4, modifiers_failed);
|
||||||
|
+ WriteToClient(client, length * 4, modifiers_failed);
|
||||||
|
|
||||||
|
out:
|
||||||
|
free(modifiers_failed);
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -4,11 +4,13 @@
|
|||||||
Summary: Xwayland
|
Summary: Xwayland
|
||||||
Name: xorg-x11-server-Xwayland
|
Name: xorg-x11-server-Xwayland
|
||||||
Version: 22.1.2
|
Version: 22.1.2
|
||||||
Release: 2
|
Release: 3
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
Source0: https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.xz
|
Source0: https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.xz
|
||||||
|
|
||||||
|
Patch1: 0001-fix-CVE-2024-31080.patch
|
||||||
|
Patch2: 0002-fix-CVE-2024-31081.patch
|
||||||
|
|
||||||
Requires: xorg-x11-server-common
|
Requires: xorg-x11-server-common
|
||||||
Requires: libEGL
|
Requires: libEGL
|
||||||
@ -77,7 +79,7 @@ The development package provides the developmental files which are
|
|||||||
necessary for developing Wayland compositors using Xwayland.
|
necessary for developing Wayland compositors using Xwayland.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{pkgname}-%{version}
|
%autosetup -n %{pkgname}-%{version} -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson \
|
%meson \
|
||||||
@ -109,6 +111,9 @@ rm -Rf $RPM_BUILD_ROOT%{_localstatedir}/lib/xkb
|
|||||||
%{_libdir}/pkgconfig/xwayland.pc
|
%{_libdir}/pkgconfig/xwayland.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Apr 28 2024 cenhuilin <cenhuilin@kylinos.cn> - 22.1.2-3
|
||||||
|
- fix CVE-2024-31080 CVE-2024-31081
|
||||||
|
|
||||||
* Fri Jun 24 2022 wangkerong <wangkerong@h-partners.com> - 22.1.2-2
|
* Fri Jun 24 2022 wangkerong <wangkerong@h-partners.com> - 22.1.2-2
|
||||||
- rename packagename
|
- rename packagename
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user