On Wed, Oct 09, 2013 at 08:51:54PM +0100, Stuart Henderson wrote:
> > > --------------------
> > > - Change all shmget calls to user-only memory (security)
> > >
> > > So yes, the problem is due to qt4, which use more strict permissions
> > > for shmget.
> > 
> > The aforementioned change was done to fix CVE-2013-0254.
> > 
> > Here's the commit:
> > 
> > https://qt.gitorious.org/qt/qt/commit/20b26bdb3dd5e46b01b9a7e1ce8342074df3c89c?format=patch
> > 
> > So what now? Revert a security fix?
> 
> Debian ran into this with kfreebsd, they have applied this to xserver
> 
> http://people.debian.org/~jcristau/kbsd-peercred.diff

This is related, but not the same issue. On other systems the X server
is still running as root and thus has full access to shared memory
segments. 

Since a client can pass a shm id to the X server and as it to render
the image contained herein, this would allow any X client to read
arbitrary shms on which they have normally no access:
http://www.securityfocus.com/bid/4396

So the X server has to re-implement access() to check if the uid/gid
of the client asking the X server to access a given shmid have the
required privilege or not. And thus in this case it's important to
have a working getpeercred() or similar to do the check.

So this won't help in our case.
-- 
Matthieu Herrb

Reply via email to