[PATCH v5 1/2] um: Do not set unsecure permission for temporary file

2015-12-22 Thread Mickaël Salaün
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 
Cc: Jeff Dike 
Cc: Richard Weinberger 
Acked-by: Tristan Schmelcher 
---
 arch/um/os-Linux/mem.c | 6 --
 1 file changed, 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)
if (fd < 0)
exit(1);
 
-   err = fchmod(fd, 0777);
-   if (err < 0) {
-   perror("fchmod");
-   exit(1);
-   }
-
/*
 * Seek to len - 1 because writing a character there will
 * increase the file size by one byte, to the desired length.
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v5 1/2] um: Do not set unsecure permission for temporary file

2015-12-22 Thread Mickaël Salaün
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 
Cc: Jeff Dike 
Cc: Richard Weinberger 
Acked-by: Tristan Schmelcher 
---
 arch/um/os-Linux/mem.c | 6 --
 1 file changed, 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)
if (fd < 0)
exit(1);
 
-   err = fchmod(fd, 0777);
-   if (err < 0) {
-   perror("fchmod");
-   exit(1);
-   }
-
/*
 * Seek to len - 1 because writing a character there will
 * increase the file size by one byte, to the desired length.
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/