[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180424144404.GF26636@bombadil.infradead.org>
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