mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-31 14:56:54 +01:00
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:
parent
d7d85c6412
commit
cf1d1f4f79
3 changed files with 46 additions and 2 deletions
|
@ -1650,6 +1650,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
|
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
|
||||||
%D%/packages/patches/xfce4-panel-plugins.patch \
|
%D%/packages/patches/xfce4-panel-plugins.patch \
|
||||||
%D%/packages/patches/xfce4-settings-defaults.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-cxx11-eof.patch \
|
||||||
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
|
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
|
||||||
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
|
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
|
||||||
|
|
33
gnu/packages/patches/xorg-server-CVE-2020-14347.patch
Normal file
33
gnu/packages/patches/xorg-server-CVE-2020-14347.patch
Normal 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
|
||||||
|
|
|
@ -5327,6 +5327,7 @@ (define-public xorg-server
|
||||||
(package
|
(package
|
||||||
(name "xorg-server")
|
(name "xorg-server")
|
||||||
(version "1.20.8")
|
(version "1.20.8")
|
||||||
|
(replacement xorg-server/fixed)
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -5450,6 +5451,16 @@ (define-public xorg-server
|
||||||
draggable titlebars and borders.")
|
draggable titlebars and borders.")
|
||||||
(license license:x11)))
|
(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+.
|
;; This package is intended to be used when building GTK+.
|
||||||
;; Note: It's currently marked as "hidden" to avoid having two non-eq?
|
;; Note: It's currently marked as "hidden" to avoid having two non-eq?
|
||||||
;; packages with the same name and version.
|
;; packages with the same name and version.
|
||||||
|
@ -5468,8 +5479,7 @@ (define-public xorg-server-for-tests
|
||||||
"18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx")))))))
|
"18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx")))))))
|
||||||
|
|
||||||
(define-public xorg-server-xwayland
|
(define-public xorg-server-xwayland
|
||||||
(package
|
(package/inherit xorg-server
|
||||||
(inherit xorg-server)
|
|
||||||
(name "xorg-server-xwayland")
|
(name "xorg-server-xwayland")
|
||||||
(inputs
|
(inputs
|
||||||
`(("wayland" ,wayland)
|
`(("wayland" ,wayland)
|
||||||
|
|
Loading…
Reference in a new issue