Linux Kernel 4.4.x (Ubuntu 16.04) - Use-After-Free Local Root Exploit

Címkék

In Linux >=4.4, when the CONFIG_BPF_SYSCALL config option is set and the kernel.unprivileged_bpf_disabled sysctl is not explicitly set to 1 at runtime, unprivileged code can use the bpf() syscall to load eBPF socket filter programs. These conditions are fulfilled in Ubuntu 16.04. [...] This exploit was tested on a Ubuntu 16.04 Desktop system.

[ exploit részletek | PoC ]

Hozzászólások

Ennek köze van ehhez?

commit adbe236b953f4537f9e5ce86d1c7ace613dec38c
Author: Tony Luck <tony.luck>
Date:   Wed Apr 6 10:05:16 2016 +0200

    x86/mce: Avoid using object after free in genpool
    
    commit a3125494cff084b098c80bb36fbe2061ffed9d52 upstream.
    
    When we loop over all queued machine check error records to pass them
    to the registered notifiers we use llist_for_each_entry(). But the loop
    calls gen_pool_free() for the entry in the body of the loop - and then
    the iterator looks at node->next after the free.
    
    Use llist_for_each_entry_safe() instead.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem véletlenül nem engedélyeztem. Várható volt. Ami érthetetlen, hogy alapból miért van bekapcsolva egy mezei Ubuntuban?
Vannak még egyébként jó opciók, például: CONFIG_KPROBES...

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."