From: riel@redhat.com (Rik van Riel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 08 Jul 2016 22:44:03 -0400 [thread overview]
Message-ID: <1468032243.13253.59.camel@redhat.com> (raw)
In-Reply-To: <b113b487-acc6-24b8-d58c-425d3c884f4c@redhat.com>
On Fri, 2016-07-08 at 19:22 -0700, Laura Abbott wrote:
>?
> Even with the SLUB fixup I'm still seeing this blow up on my arm64
> system. This is a
> Fedora rawhide kernel + the patches
>
> [????0.666700] usercopy: kernel memory exposure attempt detected from
> fffffc0008b4dd58 (<kernel text>) (8 bytes)
> [????0.666720] CPU: 2 PID: 79 Comm: modprobe Tainted:
> G????????W???????4.7.0-0.rc6.git1.1.hardenedusercopy.fc25.aarch64 #1
> [????0.666733] Hardware name: AppliedMicro Mustang/Mustang, BIOS
> 1.1.0 Nov 24 2015
> [????0.666744] Call trace:
> [????0.666756] [<fffffc0008088a20>] dump_backtrace+0x0/0x1e8
> [????0.666765] [<fffffc0008088c2c>] show_stack+0x24/0x30
> [????0.666775] [<fffffc0008455344>] dump_stack+0xa4/0xe0
> [????0.666785] [<fffffc000828d874>] __check_object_size+0x6c/0x230
> [????0.666795] [<fffffc00083a5748>] create_elf_tables+0x74/0x420
> [????0.666805] [<fffffc00082fb1f0>] load_elf_binary+0x828/0xb70
> [????0.666814] [<fffffc0008298b4c>] search_binary_handler+0xb4/0x240
> [????0.666823] [<fffffc0008299864>] do_execveat_common+0x63c/0x950
> [????0.666832] [<fffffc0008299bb4>] do_execve+0x3c/0x50
> [????0.666841] [<fffffc00080e3720>]
> call_usermodehelper_exec_async+0xe8/0x148
> [????0.666850] [<fffffc0008084a80>] ret_from_fork+0x10/0x50
>
> This happens on every call to execve. This seems to be the first
> copy_to_user in
> create_elf_tables. I didn't get a chance to debug and I'm going out
> of town
> all of next week so all I have is the report unfortunately. config
> attached.
That's odd, this should be copying a piece of kernel data (not text)
to userspace.
from fs/binfmt_elf.c
? ? ? ? const char *k_platform = ELF_PLATFORM;
...
? ? ? ? ? ? ? ? size_t len = strlen(k_platform) + 1;
? ? ? ? ? ? ? ? u_platform = (elf_addr_t __user *)STACK_ALLOC(p, len);
????????????????if (__copy_to_user(u_platform, k_platform, len))
????????????????????????return -EFAULT;
from arch/arm/include/asm/elf.h:
#define ELF_PLATFORM_SIZE 8
#define ELF_PLATFORM????(elf_platform)
extern char elf_platform[];
from arch/arm/kernel/setup.c:
char elf_platform[ELF_PLATFORM_SIZE];
EXPORT_SYMBOL(elf_platform);
...
????????snprintf(elf_platform, ELF_PLATFORM_SIZE, "%s%c",
?????????????????list->elf_name, ENDIANNESS);
How does that end up in the .text section of the
image, instead of in one of the various data sections?
What kind of linker oddity is going on with ARM?
--?
All Rights Reversed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160708/488a1f5e/attachment.sig>
next prev parent reply other threads:[~2016-07-09 2:44 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-06 22:25 [PATCH 0/9] mm: Hardened usercopy Kees Cook
2016-07-06 22:25 ` [PATCH 1/9] " Kees Cook
2016-07-07 5:37 ` Baruch Siach
2016-07-07 17:25 ` Kees Cook
2016-07-07 18:35 ` Baruch Siach
2016-07-07 7:42 ` Thomas Gleixner
2016-07-07 17:29 ` Kees Cook
2016-07-07 19:34 ` Thomas Gleixner
2016-07-07 8:01 ` Arnd Bergmann
2016-07-07 17:37 ` Kees Cook
2016-07-08 9:22 ` Arnd Bergmann
2016-07-07 16:19 ` Rik van Riel
2016-07-07 16:35 ` Rik van Riel
2016-07-07 17:41 ` Kees Cook
2016-07-06 22:25 ` [PATCH 2/9] x86/uaccess: Enable hardened usercopy Kees Cook
2016-07-06 22:25 ` [PATCH 3/9] ARM: uaccess: " Kees Cook
2016-07-06 22:25 ` [PATCH 4/9] arm64/uaccess: " Kees Cook
2016-07-07 10:07 ` Mark Rutland
2016-07-07 17:19 ` Kees Cook
2016-07-06 22:25 ` [PATCH 5/9] ia64/uaccess: " Kees Cook
2016-07-06 22:25 ` [PATCH 6/9] powerpc/uaccess: " Kees Cook
2016-07-06 22:25 ` [PATCH 7/9] sparc/uaccess: " Kees Cook
2016-07-06 22:25 ` [PATCH 8/9] mm: SLAB hardened usercopy support Kees Cook
2016-07-06 22:25 ` [PATCH 9/9] mm: SLUB " Kees Cook
2016-07-07 7:30 ` [PATCH 0/9] mm: Hardened usercopy Christian Borntraeger
2016-07-07 17:27 ` Kees Cook
2016-07-08 8:46 ` Ingo Molnar
2016-07-08 16:19 ` Linus Torvalds
2016-07-08 18:23 ` Ingo Molnar
[not found] ` <b113b487-acc6-24b8-d58c-425d3c884f4c@redhat.com>
2016-07-09 2:44 ` Rik van Riel [this message]
2016-07-09 7:55 ` Ingo Molnar
2016-07-09 8:25 ` Ard Biesheuvel
2016-07-09 17:03 ` Kees Cook
2016-07-09 17:01 ` Kees Cook
2016-07-09 21:27 ` Andy Lutomirski
2016-07-09 23:16 ` PaX Team
2016-07-10 9:16 ` Ingo Molnar
2016-07-10 12:03 ` PaX Team
2016-07-10 12:38 ` Andy Lutomirski
2016-07-11 18:40 ` Kees Cook
2016-07-11 18:34 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1468032243.13253.59.camel@redhat.com \
--to=riel@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).