guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: ntfs-3g: Fix CVE-2017-0358.


From: Kei Kebreau
Subject: 01/01: gnu: ntfs-3g: Fix CVE-2017-0358.
Date: Thu, 9 Feb 2017 22:28:15 -0500 (EST)

kkebreau pushed a commit to branch master
in repository guix.

commit 1a82ba660e88e731841882523084e5d878267b53
Author: Kei Kebreau <address@hidden>
Date:   Thu Feb 9 22:27:51 2017 -0500

    gnu: ntfs-3g: Fix CVE-2017-0358.
    
    * gnu/packages/linux.scm (ntfs-3g)[source]: Add patch.
    * gnu/packages/patches/ntfs-3g-CVE-2017-0358.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                     |  3 +-
 gnu/packages/linux.scm                           |  1 +
 gnu/packages/patches/ntfs-3g-CVE-2017-0358.patch | 42 ++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 63ce3af..1fc49bb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -4,7 +4,7 @@
 # Copyright © 2016 Mathieu Lirzin <address@hidden>
 # Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <address@hidden>
 # Copyright © 2016 Chris Marusich <address@hidden>
-# Copyright © 2016 Kei Kebreau <address@hidden>
+# Copyright © 2016, 2017 Kei Kebreau <address@hidden>
 # Copyright © 2016 Rene Saavedra <address@hidden>
 # Copyright © 2016 Adonay "adfeno" Felipe Nogueira 
<https://libreplanet.org/wiki/User:Adfeno> <address@hidden>
 # Copyright © 2016, 2017 Ricardo Wurmus <address@hidden>
@@ -777,6 +777,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/ninja-zero-mtime.patch                  \
   %D%/packages/patches/node-9077.patch                         \
   %D%/packages/patches/nss-pkgconfig.patch                     \
+  %D%/packages/patches/ntfs-3g-CVE-2017-0358.patch             \
   %D%/packages/patches/nvi-assume-preserve-path.patch          \
   %D%/packages/patches/nvi-dbpagesize-binpower.patch           \
   %D%/packages/patches/nvi-db4.patch                           \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 313d077..541e4b9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2908,6 +2908,7 @@ from userspace.")
                (base32
                 "180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp"))
               (modules '((guix build utils)))
+              (patches (search-patches "ntfs-3g-CVE-2017-0358.patch"))
               (snippet
                ;; Install under $prefix.
                '(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
diff --git a/gnu/packages/patches/ntfs-3g-CVE-2017-0358.patch 
b/gnu/packages/patches/ntfs-3g-CVE-2017-0358.patch
new file mode 100644
index 0000000..6edd676
--- /dev/null
+++ b/gnu/packages/patches/ntfs-3g-CVE-2017-0358.patch
@@ -0,0 +1,42 @@
+Fix CVE-2017-0358:
+http://seclists.org/oss-sec/2017/q1/259
+This patch was copied from the above URL.
+
+diff -ur ntfs-3g.old/src/lowntfs-3g.c ntfs-3g/src/lowntfs-3g.c
+--- ntfs-3g.old/src/lowntfs-3g.c       2017-02-09 15:01:04.074331542 -0500
++++ ntfs-3g/src/lowntfs-3g.c   2017-02-09 15:06:35.757580937 -0500
+@@ -3827,13 +3827,14 @@
+       struct stat st;
+       pid_t pid;
+       const char *cmd = "/sbin/modprobe";
++      char *env = (char*)NULL;
+       struct timespec req = { 0, 100000000 };   /* 100 msec */
+       fuse_fstype fstype;
+        
+       if (!stat(cmd, &st) && !geteuid()) {
+               pid = fork();
+               if (!pid) {
+-                      execl(cmd, cmd, "fuse", NULL);
++                      execle(cmd, cmd, "fuse", NULL, &env);
+                       _exit(1);
+               } else if (pid != -1)
+                       waitpid(pid, NULL, 0);
+diff -ur ntfs-3g.old/src/ntfs-3g.c ntfs-3g/src/ntfs-3g.c
+--- ntfs-3g.old/src/ntfs-3g.c  2017-02-09 15:01:04.074331542 -0500
++++ ntfs-3g/src/ntfs-3g.c      2017-02-09 15:06:26.077252571 -0500
+@@ -3612,13 +3612,14 @@
+       struct stat st;
+       pid_t pid;
+       const char *cmd = "/sbin/modprobe";
++      char *env = (char*)NULL;
+       struct timespec req = { 0, 100000000 };   /* 100 msec */
+       fuse_fstype fstype;
+       
+       if (!stat(cmd, &st) && !geteuid()) {
+               pid = fork();
+               if (!pid) {
+-                      execl(cmd, cmd, "fuse", NULL);
++                      execle(cmd, cmd, "fuse", NULL, &env);
+                       _exit(1);
+               } else if (pid != -1)
+                       waitpid(pid, NULL, 0);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]