Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 24 Apr 2018 07:44:04 -0700
From: Matthew Wilcox <willy@...radead.org>
To: lazytyped <lazytyped@...il.com>
Cc: Igor Stoppa <igor.stoppa@...il.com>, keescook@...omium.org,
	paul@...l-moore.com, sds@...ho.nsa.gov, mhocko@...nel.org,
	corbet@....net, labbott@...hat.com, linux-cc=david@...morbit.com,
	--cc=rppt@...ux.vnet.ibm.com, --security-module@...r.kernel.org,
	linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	kernel-hardening@...ts.openwall.com,
	Igor Stoppa <igor.stoppa@...wei.com>,
	Carlos Chinea Perez <carlos.chinea.perez@...wei.com>,
	Remi Denis Courmont <remi.denis.courmont@...wei.com>
Subject: Re: [PATCH 7/9] Pmalloc Rare Write: modify selected pools

On Tue, Apr 24, 2018 at 02:32:36PM +0200, lazytyped wrote:
> On 4/24/18 1:50 PM, Matthew Wilcox wrote:
> > struct modifiable_data {
> > 	struct immutable_data *d;
> > 	...
> > };
> >
> > Then allocate a new pool, change d and destroy the old pool.
> 
> With the above, you have just shifted the target of the arbitrary write
> from the immutable data itself to the pointer to the immutable data, so
> got no security benefit.

There's always a pointer to the immutable data.  How do you currently
get to the selinux context?  file->f_security.  You can't make 'file'
immutable, so file->f_security is the target of the arbitrary write.
All you can do is make life harder, and reduce the size of the target.

> The goal of the patch is to reduce the window when stuff is writeable,
> so that an arbitrary write is likely to hit the time when data is read-only.

Yes, reducing the size of the target in time as well as bytes.  This patch
gives attackers a great roadmap (maybe even gadget) to unprotecting
a pool.

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.