Date: Wed, 12 Dec 2012 13:48:46 -0700
From: Vincent Danen <vdanen@...hat.com>
To: oss-security@...ts.openwall.com
Subject: CVE-2012-5617: gksu-polkit privileged code execution with
unprivileged credentials
This is a heads-up on a flaw reported to us regarding gksu-polkit. This
was sent to the linux-distros@ mailing list last week.
Miroslav Trmac of Red Hat reported that gksu-polkit ships with an extremely
permissive PolicyKit policy configuration file. Because gksu-polkit
allows a user to execute a program with administrative privileges, and
because the default allow_active setting is "auth_self" rather than
"auth_admin", any local user can use gksu-polkit to execute arbitrary
programs (like a bash shell) with root privileges.
For example:
$ cat foo.sh
#! /bin/bash
id -a
# not just gksu-polkit id -a because gksu-polkit tries to interpret the
# -a
# this prompts for user's password only
$ gksu-polkit /home/user/foo.sh
uid=0(root) gid=0(root) groups=0(root)
context=system_u:system_r:initrc_t:s0
(As an aside, I did some peeking because there was some discussion as to
whether or not this was intended behaviour. It does not seem as though
gksu-polkit is _intended_ to grant root access to every local user, even
though they need to actually be at the computer (I've not tested whether
or not this can be exploited via a remote X session, but it's possible).
Even if this is not remotely exploitable, we do tend to require
administrator authentication by local users (via su) or an administrator
to grant such privileges (via sudo), so to me this is definitely a
flaw).
References:
http://anonscm.debian.org/gitweb/?p=users/kov/gksu-polkit.git;a=blob;f=data/org.gnome.gksu.policy;h=ff0e4187941147d4f6c7ca53ebd1757521337288;hb=HEADhttps://bugzilla.redhat.com/show_bug.cgi?id=883162
--
Vincent Danen / Red Hat Security Response Team