[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190710122549.GM32320@bombadil.infradead.org>
Date: Wed, 10 Jul 2019 05:25:49 -0700
From: Matthew Wilcox <willy@...radead.org>
To: bsauce <bsauce00@...il.com>
Cc: alexander.h.duyck@...el.com, vbabka@...e.cz, mgorman@...e.de,
l.stach@...gutronix.de, vdavydov.dev@...il.com,
akpm@...ux-foundation.org, alex@...ti.fr, adobriyan@...il.com,
mike.kravetz@...cle.com, rientjes@...gle.com,
rppt@...ux.vnet.ibm.com, mhocko@...e.com, ksspiers@...gle.com,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] fs/seq_file.c: Fix a UAF vulnerability in seq_release()
On Wed, Jul 10, 2019 at 06:26:29PM +0800, bsauce wrote:
> In seq_release(), 'm->buf' points to a chunk. It is freed but not cleared to null right away. It can be reused by seq_read() or srm_env_proc_write().
Well, no. The ->release method is called when there are no more file
descriptors referring to this file. So there's no way to call seq_read()
or srm_env_proc_write() after seq_release() is called.
> For example, /arch/alpha/kernel/srm_env.c provide several interfaces to userspace, like 'single_release', 'seq_read' and 'srm_env_proc_write'.
> Thus in userspace, one can exploit this UAF vulnerability to escape privilege.
Please provide a PoC.
Powered by blists - more mailing lists