util: CVE-2012-2737: drop _polkit_subject_get_cmdline
authorRay Strode <rstrode@redhat.com>
Tue, 19 Jun 2012 18:34:18 +0000 (14:34 -0400)
committerRay Strode <rstrode@redhat.com>
Thu, 28 Jun 2012 15:28:15 +0000 (11:28 -0400)
commit4c5b12e363410e490e776e4b4a86dcce157a543d
tree5c37c95d07af995dea99e99363ad7a6c5370a307
parentbd51aa4cdac380f55d607f4ffdf2ab3c00d08721
util: CVE-2012-2737: drop _polkit_subject_get_cmdline

_polkit_subject_get_cmdline is a function copy and pasted
from the polkit code that returns the command line, uid, and
pid of a particular polkit subject.  It's used for helping to
generate log entries that detail what processes are invoking methods
on the accounts service.

It's also used, on older kernels, for setting up the the loginuid
of subprocesses that are run on behalf of AccountsService clients,
so the audit trail leads back to the user initiating a request.

_polkit_subject_get_cmdline directly looks up the uid of the caller,
instead of querying the system bus.  As such, it's vulnerable to
the same race condition discussed in the previous two commits.

This commit guts _polkit_subject_get_cmdline, keeping only the part
that reads /proc/pid/cmdline. We now get the uid and pid from the
bus daemon.
src/util.c