[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2023111818-agent-verdict-99a5@gregkh>
Date: Sat, 18 Nov 2023 06:36:49 -0500
From: Greg KH <greg@...ah.com>
To: Matthew Maurer <mmaurer@...gle.com>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Miguel Ojeda <ojeda@...nel.org>, Gary Guo <gary@...yguo.net>,
Luis Chamberlain <mcgrof@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Nicolas Schier <nicolas@...sle.eu>,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
linux-modules@...r.kernel.org, linux-kbuild@...r.kernel.org,
rust-for-linux@...r.kernel.org, Laura Abbott <laura@...bott.name>
Subject: Re: [PATCH v2 2/5] modules: Refactor + kdoc elf_validity_cached_copy
On Sat, Nov 18, 2023 at 02:54:43AM +0000, Matthew Maurer wrote:
> Functionality is almost identical, just structured for better
> documentation and readability. Changes:
>
> * Section names are checked for *all* non-SHT_NULL sections, not just
> SHF_ALLOC sections. We have code that accesses section names of
> non-SHF_ALLOC sections (see find_any_sec for example)
> * The section name check occurs *before* strcmping on section names.
> Previously, it was possible to use an out-of-bounds offset to strcmp
> against ".modinfo" or ".gnu.linkonce.this_module"
> * strtab is checked for NUL lead+termination and nonzero size
> * The symbol table is swept to ensure offsets are inbounds of strtab
>
> While some of these oversights would normally be worrying, all of the
> potentially unverified accesses occur after signature check, and only in
> response to a user who can load a kernel module.
>
> Signed-off-by: Matthew Maurer <mmaurer@...gle.com>
> ---
> kernel/module/internal.h | 7 +-
> kernel/module/main.c | 585 +++++++++++++++++++++++++++++----------
> 2 files changed, 444 insertions(+), 148 deletions(-)
Again, this needs to be broken into much smaller pieces before we can
even review it. Would you want to review this?
thanks,
greg "think of the reviewers" k-h
Powered by blists - more mailing lists