36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
From d5b66f2b1f3d9a322261d150e0da4e707a337334 Mon Sep 17 00:00:00 2001
|
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
|
Date: Wed, 18 Jun 2025 08:39:02 +0200
|
|
Subject: [PATCH xserver 3/7] os: Check for integer overflow on BigRequest
|
|
length
|
|
|
|
Check for another possible integer overflow once we get a complete xReq
|
|
with BigRequest.
|
|
|
|
Related to CVE-2025-49176
|
|
|
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
|
Suggested-by: Peter Harris <pharris2@rocketsoftware.com>
|
|
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2028>
|
|
(cherry picked from commit 4fc4d76b2c7aaed61ed2653f997783a3714c4fe1)
|
|
---
|
|
os/io.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/os/io.c b/os/io.c
|
|
index a05300869..de5b3c921 100644
|
|
--- a/os/io.c
|
|
+++ b/os/io.c
|
|
@@ -395,6 +395,8 @@ ReadRequestFromClient(ClientPtr client)
|
|
needed = get_big_req_len(request, client);
|
|
}
|
|
client->req_len = needed;
|
|
+ if (needed > MAXINT >> 2)
|
|
+ return -(BadLength);
|
|
needed <<= 2;
|
|
}
|
|
if (gotnow < needed) {
|
|
--
|
|
2.49.0
|
|
|