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 +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 +Reviewed-by: Alan Coopersmith +--- + 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)