summary refs log tree commit diff
path: root/gnu/packages/patches/screen-CVE-2017-5618.patch
blob: 1b95e428c84c038c0764dbd0059c5a1b0c873db3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Fixes CVE-2017-5618 (privilege escalation via opening the logfile when
screen is installed setuid root):

https://savannah.gnu.org/bugs/?50142
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618

This patch reverts the upstream commit that introduced the bug:

https://git.savannah.gnu.org/cgit/screen.git/commit/?id=5460f5d28c01a9a58e021eb1dffef2965e629d58

From f55b0cc29a0ac2a1c54e8a5e886b7393edd4a76c Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 11 Feb 2017 22:40:24 -0500
Subject: [PATCH] Revert "adding permissions check for the logfile name"

This reverts commit 5460f5d28c01a9a58e021eb1dffef2965e629d58.
---
 src/screen.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/screen.c b/src/screen.c
index 64650e9..283c305 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -673,12 +673,6 @@ int main(int ac, char** av)
                 Panic(0, "-L: logfile name can not start with \"-\" symbol");
               if (strlen(screenlogfile) > PATH_MAX)
                 Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
-
-              FILE *w_check;
-              if ((w_check = fopen(screenlogfile, "w")) == NULL)
-                Panic(0, "-L: logfile name access problem");
-              else
-                fclose(w_check);
             }
             nwin_options.Lflag = 1;
             break;
-- 
2.11.1