package/x11vnc: fix CVE-2020-29074
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Thu, 3 Dec 2020 20:10:13 +0000 (21:10 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 5 Dec 2020 20:32:16 +0000 (21:32 +0100)
scan.c in x11vnc 0.9.16 uses IPC_CREAT|0777 in shmget calls, which
allows access by actors other than the current user.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch [new file with mode: 0644]
package/x11vnc/x11vnc.mk

diff --git a/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch b/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch
new file mode 100644 (file)
index 0000000..e4dbdf1
--- /dev/null
@@ -0,0 +1,25 @@
+From 69eeb9f7baa14ca03b16c9de821f9876def7a36a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gu=C3=A9nal=20DAVALAN?= <guenal.davalan@uca.fr>
+Date: Wed, 18 Nov 2020 08:40:45 +0100
+Subject: [PATCH] scan: limit access to shared memory segments to current user
+
+[Retrieved from:
+https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/scan.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/scan.c b/src/scan.c
+index 43e00d2..12994d5 100644
+--- a/src/scan.c
++++ b/src/scan.c
+@@ -320,7 +320,7 @@ static int shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
+ #if HAVE_XSHM
+       shm->shmid = shmget(IPC_PRIVATE,
+-          xim->bytes_per_line * xim->height, IPC_CREAT | 0777);
++          xim->bytes_per_line * xim->height, IPC_CREAT | 0600);
+       if (shm->shmid == -1) {
+               rfbErr("shmget(%s) failed.\n", name);
index 9daf490581a816bce34128c778e6a7e63de19023..571febfcfcb543947b6f50b8cd4844e01b663039 100644 (file)
@@ -12,6 +12,8 @@ X11VNC_CONF_OPTS = --without-sdl
 X11VNC_DEPENDENCIES = xlib_libXt xlib_libXext xlib_libXtst libvncserver
 X11VNC_LICENSE = GPL-2.0+
 X11VNC_LICENSE_FILES = COPYING
+# 0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch
+X11VNC_IGNORE_CVES += CVE-2020-29074
 
 # Source coming from github, no configure included
 X11VNC_AUTORECONF = YES