gnu: xorg-server: Fix CVE-2020-14347 via graft.

* gnu/packages/patches/xorg-server-CVE-2020-14347.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xorg-server/fixed): New variable.
(xorg-server)[replacement]: New field.
(xorg-server-wayland): Use package/inherit.
This commit is contained in:
Mark H Weaver 2020-08-01 03:16:40 -04:00
parent d7d85c6412
commit cf1d1f4f79
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
3 changed files with 46 additions and 2 deletions

View File

@ -1650,6 +1650,7 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xorg-server-CVE-2020-14347.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \

View File

@ -0,0 +1,33 @@
From aac28e162e5108510065ad4c323affd6deffd816 Mon Sep 17 00:00:00 2001
From: Matthieu Herrb <matthieu@herrb.eu>
Date: Sat, 25 Jul 2020 19:33:23 +0200
Subject: [PATCH] fix for ZDI-11426
Avoid leaking un-initalized memory to clients by zeroing the
whole pixmap on initial allocation.
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
dix/pixmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dix/pixmap.c b/dix/pixmap.c
index 1186d7dbb..5a0146bbb 100644
--- a/dix/pixmap.c
+++ b/dix/pixmap.c
@@ -116,7 +116,7 @@ AllocatePixmap(ScreenPtr pScreen, int pixDataSize)
if (pScreen->totalPixmapSize > ((size_t) - 1) - pixDataSize)
return NullPixmap;
- pPixmap = malloc(pScreen->totalPixmapSize + pixDataSize);
+ pPixmap = calloc(1, pScreen->totalPixmapSize + pixDataSize);
if (!pPixmap)
return NullPixmap;
--
2.27.0

View File

@ -5327,6 +5327,7 @@ over Xlib, including:
(package
(name "xorg-server")
(version "1.20.8")
(replacement xorg-server/fixed)
(source
(origin
(method url-fetch)
@ -5450,6 +5451,16 @@ communicates with the user via graphical controls such as buttons and
draggable titlebars and borders.")
(license license:x11)))
(define xorg-server/fixed ; Fixes CVE-2020-14347
(package
(inherit xorg-server)
(source
(origin
(inherit (package-source xorg-server))
(patches
(append (origin-patches (package-source xorg-server))
(search-patches "xorg-server-CVE-2020-14347.patch")))))))
;; This package is intended to be used when building GTK+.
;; Note: It's currently marked as "hidden" to avoid having two non-eq?
;; packages with the same name and version.
@ -5468,8 +5479,7 @@ draggable titlebars and borders.")
"18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx")))))))
(define-public xorg-server-xwayland
(package
(inherit xorg-server)
(package/inherit xorg-server
(name "xorg-server-xwayland")
(inputs
`(("wayland" ,wayland)