diff options
author | Mark H Weaver <mhw@netris.org> | 2020-08-01 03:16:40 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2020-08-01 11:11:58 -0400 |
commit | cf1d1f4f79ddf3a75b960ef52116221cc9732600 (patch) | |
tree | 423ce3dfa9738425fd599e7d1fd1cc3691bb356a /gnu | |
parent | d7d85c6412f6c2077ea930c7e525371912100193 (diff) | |
download | guix-cf1d1f4f79ddf3a75b960ef52116221cc9732600.tar.gz guix-cf1d1f4f79ddf3a75b960ef52116221cc9732600.zip |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/xorg-server-CVE-2020-14347.patch | 33 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 14 |
3 files changed, 46 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 181212c70b..b7c98aeef2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/patches/xorg-server-CVE-2020-14347.patch b/gnu/packages/patches/xorg-server-CVE-2020-14347.patch new file mode 100644 index 0000000000..c54b93d764 --- /dev/null +++ b/gnu/packages/patches/xorg-server-CVE-2020-14347.patch @@ -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 + diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b58a5521ca..560e6b6a1c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -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) |