aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMickaël Salaün <mic@digikod.net>2015-12-22 16:15:09 -0500
committerRichard Weinberger <richard@nod.at>2016-01-10 15:49:50 -0500
commit571d2f0c341fa15dbbb4fb73c80bd740ef37a9f0 (patch)
treec8752e1d750c1bc378894dbe9ff84c817087101e
parent42d91f612c879627c925d3779c36877cd440f9f9 (diff)
um: Do not set unsecure permission for temporary file
Remove the insecure 0777 mode for temporary file to prohibit other users to change the executable mapped code. An attacker could gain access to the mapped file descriptor from the temporary file (before it is unlinked) in a read-only mode but it should not be accessible in write mode to avoid arbitrary code execution. To not change the hostfs behavior, the temporary file creation permission now depends on the current umask(2) and the implementation of mkstemp(3). Signed-off-by: Mickaël Salaün <mic@digikod.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Acked-by: Tristan Schmelcher <tschmelcher@google.com> Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r--arch/um/os-Linux/mem.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
index 897e9ad0c108..840d573f7e38 100644
--- a/arch/um/os-Linux/mem.c
+++ b/arch/um/os-Linux/mem.c
@@ -142,12 +142,6 @@ static int __init create_tmp_file(unsigned long long len)
142 if (fd < 0) 142 if (fd < 0)
143 exit(1); 143 exit(1);
144 144
145 err = fchmod(fd, 0777);
146 if (err < 0) {
147 perror("fchmod");
148 exit(1);
149 }
150
151 /* 145 /*
152 * Seek to len - 1 because writing a character there will 146 * Seek to len - 1 because writing a character there will
153 * increase the file size by one byte, to the desired length. 147 * increase the file size by one byte, to the desired length.