mirror of
git://slackware.nl/current.git
synced 2025-01-22 07:27:59 +01:00
3dc2470097
extra/tigervnc/tigervnc-1.12.0-x86_64-4_slack15.0.txz: Rebuilt. Recompiled against xorg-server-1.20.14, including patches for several security issues. Thanks to marav. For more information, see: https://www.cve.org/CVERecord?id=CVE-2022-3550 https://www.cve.org/CVERecord?id=CVE-2022-3551 https://www.cve.org/CVERecord?id=CVE-2022-3553 https://www.cve.org/CVERecord?id=CVE-2022-4283 https://www.cve.org/CVERecord?id=CVE-2022-46340 https://www.cve.org/CVERecord?id=CVE-2022-46341 https://www.cve.org/CVERecord?id=CVE-2022-46342 https://www.cve.org/CVERecord?id=CVE-2022-46343 https://www.cve.org/CVERecord?id=CVE-2022-46344 https://www.cve.org/CVERecord?id=CVE-2023-0494 https://www.cve.org/CVERecord?id=CVE-2023-1393 https://www.cve.org/CVERecord?id=CVE-2023-5367 https://www.cve.org/CVERecord?id=CVE-2023-5380 (* Security fix *)
47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
From 842ca3ccef100ce010d1d8f5f6d6cc1915055900 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Tue, 29 Nov 2022 14:53:07 +1000
|
|
Subject: [PATCH] Xext: free the screen saver resource when replacing it
|
|
|
|
This fixes a use-after-free bug:
|
|
|
|
When a client first calls ScreenSaverSetAttributes(), a struct
|
|
ScreenSaverAttrRec is allocated and added to the client's
|
|
resources.
|
|
|
|
When the same client calls ScreenSaverSetAttributes() again, a new
|
|
struct ScreenSaverAttrRec is allocated, replacing the old struct. The
|
|
old struct was freed but not removed from the clients resources.
|
|
|
|
Later, when the client is destroyed the resource system invokes
|
|
ScreenSaverFreeAttr and attempts to clean up the already freed struct.
|
|
|
|
Fix this by letting the resource system free the old attrs instead.
|
|
|
|
CVE-2022-46343, ZDI-CAN 19404
|
|
|
|
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>
|
|
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
|
|
---
|
|
Xext/saver.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/Xext/saver.c b/Xext/saver.c
|
|
index f813ba08d..fd6153c31 100644
|
|
--- a/Xext/saver.c
|
|
+++ b/Xext/saver.c
|
|
@@ -1051,7 +1051,7 @@ ScreenSaverSetAttributes(ClientPtr client)
|
|
pVlist++;
|
|
}
|
|
if (pPriv->attr)
|
|
- FreeScreenAttr(pPriv->attr);
|
|
+ FreeResource(pPriv->attr->resource, AttrType);
|
|
pPriv->attr = pAttr;
|
|
pAttr->resource = FakeClientID(client->index);
|
|
if (!AddResource(pAttr->resource, AttrType, (void *) pAttr))
|
|
--
|
|
GitLab
|
|
|