diff --git a/tigervnc.spec b/tigervnc.spec index 5826c7db7bc2a25b31236c13fbc46330852d109d..27f4287d2b88e5853969d448543200a07a8c2191 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,13 +1,13 @@ Name: tigervnc Version: 1.8.0 -Release: 33%{?dist} +Release: 34%{?dist} Summary: A TigerVNC remote display system Group: User Interface/Desktops License: GPLv2+ URL: http://www.tigervnc.com -Source0: %{name}-%{version}.tar.gz +Source0: https://github.com/TigerVNC/%{name}/archive/v%{version}.tar.gz Source1: vncserver.service Source2: vncserver.sysconfig Source3: 10-libvnc.conf @@ -76,6 +76,7 @@ Patch100: tigervnc-xserver120.patch Patch101: 0001-rpath-hack.patch Patch111: xorg-CVE-2023-5380.patch +Patch112: xorg-CVE-2024-9632.patch # Security fixes Patch200: tigervnc-CVE-2019-15691.patch @@ -190,6 +191,7 @@ done %patch100 -p1 -b .xserver120 %patch101 -p1 -b .rpath %patch111 -p1 -b .xorg-CVE-2023-5380 +%patch112 -p1 -b .xorg-CVE-2024-9632 popd # Don't use shebang in vncserver script. @@ -423,6 +425,9 @@ fi %{_datadir}/icons/hicolor/*/apps/* %changelog +* Mon Jan 6 2025 zhuhongbo - 1.8.0-34 +- fix: cve CVE-2024-9632 + * Thu Apr 04 2024 Jan Grulich - 1.8.0-33 - Fix crash caused by fix for CVE-2024-31083 Resolves: RHEL-30976 diff --git a/tigervnc-1.8.0.tar.gz b/v1.8.0.tar.gz similarity index 100% rename from tigervnc-1.8.0.tar.gz rename to v1.8.0.tar.gz diff --git a/xorg-CVE-2024-9632.patch b/xorg-CVE-2024-9632.patch new file mode 100644 index 0000000000000000000000000000000000000000..7bfe5b2f39faba62bc37cd12e513ebc9bc157dfc --- /dev/null +++ b/xorg-CVE-2024-9632.patch @@ -0,0 +1,34 @@ +From c7d7ea970d073a6653a3401bc19ae0f453fe4b19 Mon Dec 17 00:00:00 2001 +From: zhuhongbo +Date: Thu, 31 Dec 2024 15:24:27 +0800 +Subject: [PATCH] fix cve CVE-2024-9632 + +--- + xkb/xkb.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/xkb/xkb.c b/xkb/xkb.c +index f203270d5..70e8279aa 100644 +--- a/xkb/xkb.c ++++ b/xkb/xkb.c +@@ -2991,13 +2991,13 @@ _XkbSetCompatMap(ClientPtr client, DeviceIntPtr dev, + XkbSymInterpretPtr sym; + unsigned int skipped = 0; + +- if ((unsigned) (req->firstSI + req->nSI) > compat->num_si) { +- compat->num_si = req->firstSI + req->nSI; ++ if ((unsigned) (req->firstSI + req->nSI) > compat->size_si) { ++ compat->num_si = compat->size_si = req->firstSI + req->nSI; + compat->sym_interpret = reallocarray(compat->sym_interpret, +- compat->num_si, ++ compat->size_si, + sizeof(XkbSymInterpretRec)); + if (!compat->sym_interpret) { +- compat->num_si = 0; ++ compat->num_si = compat->size_si = 0; + return BadAlloc; + } + } +-- +2.46.2 +