- fix #320131 - CVE-2007-5191 util-linux (u)mount doesn't drop privileges
properly when calling helpers [F7]
This commit is contained in:
parent
030432aac2
commit
4c6b28ff2a
2 changed files with 43 additions and 1 deletions
36
util-linux-2.13-mount-setuid.patch
Normal file
36
util-linux-2.13-mount-setuid.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
diff -up util-linux-2.13-pre7/mount/umount.c.kzak util-linux-2.13-pre7/mount/umount.c
|
||||
--- util-linux-2.13-pre7/mount/umount.c.kzak 2007-10-08 15:22:38.000000000 +0200
|
||||
+++ util-linux-2.13-pre7/mount/umount.c 2007-10-08 15:24:01.000000000 +0200
|
||||
@@ -102,8 +102,12 @@ check_special_umountprog(const char *spe
|
||||
char *umountargs[8];
|
||||
int i = 0;
|
||||
|
||||
- setuid(getuid());
|
||||
- setgid(getgid());
|
||||
+ if(setgid(getgid()) < 0)
|
||||
+ die(EX_FAIL, _("umount: cannot set group id: %s"), strerror(errno));
|
||||
+
|
||||
+ if(setuid(getuid()) < 0)
|
||||
+ die(EX_FAIL, _("umount: cannot set user id: %s"), strerror(errno));
|
||||
+
|
||||
umountargs[i++] = umountprog;
|
||||
umountargs[i++] = xstrdup(node);
|
||||
if (nomtab)
|
||||
diff -up util-linux-2.13-pre7/mount/mount.c.kzak util-linux-2.13-pre7/mount/mount.c
|
||||
--- util-linux-2.13-pre7/mount/mount.c.kzak 2007-10-08 15:22:38.000000000 +0200
|
||||
+++ util-linux-2.13-pre7/mount/mount.c 2007-10-08 15:24:01.000000000 +0200
|
||||
@@ -600,8 +600,12 @@ check_special_mountprog(const char *spec
|
||||
char *oo, *mountargs[11];
|
||||
int i = 0;
|
||||
|
||||
- setuid(getuid());
|
||||
- setgid(getgid());
|
||||
+ if(setgid(getgid()) < 0)
|
||||
+ die(EX_FAIL, _("mount: cannot set group id: %s"), strerror(errno));
|
||||
+
|
||||
+ if(setuid(getuid()) < 0)
|
||||
+ die(EX_FAIL, _("mount: cannot set user id: %s"), strerror(errno));
|
||||
+
|
||||
oo = fix_opts_string (flags, extra_opts, NULL);
|
||||
mountargs[i++] = mountprog;
|
||||
mountargs[i++] = spec;
|
||||
Loading…
Add table
Add a link
Reference in a new issue