ConsoleKit, PolicyKit, HAL, XDG_SESSION_COOKIE

Lennart Poettering mzqohf at
Sat Aug 7 11:48:00 PDT 2010

On Wed, 28.07.10 09:47, David Zeuthen (zeuthen at wrote:

> Hi,
> On Wed, Jul 28, 2010 at 6:00 AM, Lennart Poettering <mzqohf at> wrote:
> > The only real criticism I had was about the fact that the alg that is
> > used to generate the cookie outputs guessable values.
> FWIW, I agree it would be a big problem $XDG_SESSION_COOKIE was
> guessable. But they are not. Why do you think they are? Each cookie
> ends in a 32-bit random number, see
> using g_random_int_range(). So if g_random_int_range() is a good and
> secure random function (and it is), what exactly is the problem? It's
> not like you can easily guess one.

Well, g_random_int_range() is based on a PRNG that is not
cryptographically secure (mersenne twister). That basically means by
collecting random values it generates you can calculcate what's coming
next. Login, write down the cookie, repeat that a couple of times, and
you know the cookie of the next one who will login.

If you want this safe, then use /dev/random or so, which includes better

> If you are concerned that the time is included note that RFC-4122
> UUIDs also contain the time. It's not a big deal.

No, I simply concerned that the random values are guessable. And the
time is anyway, and hence the whole cookie is.


Lennart Poettering - Red Hat, Inc.

More information about the dbus mailing list