ZDI-24-821: A Remote UAF in The Kernel's net/tipc
An article by Sam Page describing a slab use-after-free in the TIPC networking stack that can be triggered by both local and remote attackers.
An article by Sam Page describing a slab use-after-free in the TIPC networking stack that can be triggered by both local and remote attackers.
sam4k
ZDI-24-821: A Remote UAF in The Kernel's net/tipc
In this post I discuss a vulnerability which allows a local, or remote attacker, to trigger a use-after-free in the TIPC networking stack on affected installations of the Linux kernel.
👍7🔥3👎1
Linux Kernel: Vulnerability in the eBPF verifier register limit tracking
An exploitable vunerability in eBPF announced by JJ. Requires the CAP_BPF capability to trigger. Found with buzzer.
An exploitable vunerability in eBPF announced by JJ. Requires the CAP_BPF capability to trigger. Found with buzzer.
GitHub
Linux Kernel: Vulnerability in the eBPF verifier register limit tracking
### Summary
A bug in the verifier’s register limit tracking was found by using https://github.com/google/buzzer that allows an attacker to trick the eBPF verifier into thinking a register has a va...
A bug in the verifier’s register limit tracking was found by using https://github.com/google/buzzer that allows an attacker to trick the eBPF verifier into thinking a register has a va...
Virtual Escape; Real Reward: Introducing Google’s kvmCTF
Google started a vulnerability reward program for the Kernel-based Virtual Machine (KVM) hypervisor focused on zero-day bugs.
Google started a vulnerability reward program for the Kernel-based Virtual Machine (KVM) hypervisor focused on zero-day bugs.
Google Online Security Blog
Virtual Escape; Real Reward: Introducing Google’s kvmCTF
Marios Pomonis, Software Engineer Google is committed to enhancing the security of open-source technologies, especially those that make up t...
👍15🔥7👎1
SLUBStick: Arbitrary Memory Writes through Practical Software Cross-Cache Attacks within the Linux Kernel
A paper by Lukas Maar, Stefan Gast, et al. about exploiting slab memory corruptions via a cross-allocator slab-to-page attack targeting user page tables.
The paper covers:
— Using a timing side-channel to make sure that all objects in a slab are under the exploit's control to increase the success chance of executing a cross-cache or a cross-allocator attack;
— Converting limited slab memory corruptions to a stronger slab use-after-free write primitive;
— Using a single-shot slab use-after-free write to gain control over user page tables and thus obtain physical memory arbitrary read/write.
A paper by Lukas Maar, Stefan Gast, et al. about exploiting slab memory corruptions via a cross-allocator slab-to-page attack targeting user page tables.
The paper covers:
— Using a timing side-channel to make sure that all objects in a slab are under the exploit's control to increase the success chance of executing a cross-cache or a cross-allocator attack;
— Converting limited slab memory corruptions to a stronger slab use-after-free write primitive;
— Using a single-shot slab use-after-free write to gain control over user page tables and thus obtain physical memory arbitrary read/write.
🔥24
Listen Up: Sonos Over-The-Air Remote Kernel Exploitation and Covert Wiretap
A talk and an article by Robert Herrera and Alex Plaskett about remotely exploiting a bug in the Wi-Fi driver of the Sonos One smart speaker.
A talk and an article by Robert Herrera and Alex Plaskett about remotely exploiting a bug in the Wi-Fi driver of the Sonos One smart speaker.
👍11
PageJack: A Powerful Exploit Technique With Page-Level UAF
A talk, a summary article, and a related paper by Zhiyun Qian et al. about overwriting slab objects containing a
The authors also shared a set of exploits that uses the described technique.
A talk, a summary article, and a related paper by Zhiyun Qian et al. about overwriting slab objects containing a
struct page * field to achieve arbitrary read/write in physical memory.The authors also shared a set of exploits that uses the described technique.
🔥15👍2
CVE-2022-22265: Samsung NPU driver
An article by Javier P Rufo about exploiting a slab double-free in the Samsung's NPU driver via the Dirty Pagetable technique.
An article by Javier P Rufo about exploiting a slab double-free in the Samsung's NPU driver via the Dirty Pagetable technique.
🔥14
Ongoing slab hardening efforts
Recently, there have been multiple efforts to make the exploitation of slab memory corruptions harder.
1️⃣ RANDOM_KMALLOC_CACHES by Ruigi Gong; merged in v6.6; enabled in Ubuntu 24.04; LWN article
This feature creates 16 instances of each normal kmalloc cache and makes kmalloc randomly pick one of them based on the code location of the kmalloc call.
2️⃣ SLAB_BUCKETS by Kees Cook; merged in v6.11; LWN article
It allows putting specific dynamically-sized allocations into separate caches called buckets. This requires annotating allocation sites. This feature is intended to be used for user-controllable allocations. So far, only msg_msg and v/memdup_user allocations are annotated.
3️⃣ SLAB_PER_SITE by Kees Cook; under discussion; LWN article
This patchset creates a set of buckets for each kmalloc call site without manual annotations.
4️⃣ SLAB_VIRTUAL by Jann Horn and Matteo Rizzo; under discussion; documentation
It mitigates cross-cache attacks by making the slab allocator use a unique virtual memory address range for each cache for allocating slabs.
Recently, there have been multiple efforts to make the exploitation of slab memory corruptions harder.
1️⃣ RANDOM_KMALLOC_CACHES by Ruigi Gong; merged in v6.6; enabled in Ubuntu 24.04; LWN article
This feature creates 16 instances of each normal kmalloc cache and makes kmalloc randomly pick one of them based on the code location of the kmalloc call.
2️⃣ SLAB_BUCKETS by Kees Cook; merged in v6.11; LWN article
It allows putting specific dynamically-sized allocations into separate caches called buckets. This requires annotating allocation sites. This feature is intended to be used for user-controllable allocations. So far, only msg_msg and v/memdup_user allocations are annotated.
3️⃣ SLAB_PER_SITE by Kees Cook; under discussion; LWN article
This patchset creates a set of buckets for each kmalloc call site without manual annotations.
4️⃣ SLAB_VIRTUAL by Jann Horn and Matteo Rizzo; under discussion; documentation
It mitigates cross-cache attacks by making the slab allocator use a unique virtual memory address range for each cache for allocating slabs.
👍16🔥1🎉1
GPUAF: Using a general GPU exploit tech to attack Pixel 8
A talk by Pan Zhenpeng and Jheng Bing Jhong about leveraging an integer overflow bug in the Mali GPU driver to gain use-after-free access to physical pages, fake GPU page tables, and escalate privileges on Pixel 8.
A talk by Pan Zhenpeng and Jheng Bing Jhong about leveraging an integer overflow bug in the Mali GPU driver to gain use-after-free access to physical pages, fake GPU page tables, and escalate privileges on Pixel 8.
🔥10👍2
SLUB Internals for Exploit Developers
Slides and recording for a talk by Andrey Konovalov that covers the SLUB allocator internals and explains how common Slab shaping approaches work for exploiting Slab memory corruption bugs.
Slides and recording for a talk by Andrey Konovalov that covers the SLUB allocator internals and explains how common Slab shaping approaches work for exploiting Slab memory corruption bugs.
🔥36👍1
Race conditions in Linux Kernel perf events
Nils Ole Timm published an article about exploiting a perf events race condition provoking a kernel page UAF.
The researcher also published a limited PoC exploit for kernel configurations that don't turn on
Nils Ole Timm published an article about exploiting a perf events race condition provoking a kernel page UAF.
The researcher also published a limited PoC exploit for kernel configurations that don't turn on
check_pages_enabled.GitHub
GitHub - Binary-Gecko/perf_PoC
Contribute to Binary-Gecko/perf_PoC development by creating an account on GitHub.
👍7🔥2
SELinux bypasses
An amazing article by Klecko about different approaches to bypassing SELinux in Android kernel exploits.
The author lists multiple ways to disable SELinux via an arbitrary address read/write primitive and shows which of them are detected by the Samsung and Huawei hypervisors (spoiler: not all 😁).
An amazing article by Klecko about different approaches to bypassing SELinux in Android kernel exploits.
The author lists multiple ways to disable SELinux via an arbitrary address read/write primitive and shows which of them are detected by the Samsung and Huawei hypervisors (spoiler: not all 😁).
👍7
More Bang for Your Bug!
Slides for the talk at the Linux Plumbers conference by Eduardo Vela and Space Meyer about kernelCTF, kernel attack surface, and exploit mitigations.
Slides for the talk at the Linux Plumbers conference by Eduardo Vela and Space Meyer about kernelCTF, kernel attack surface, and exploit mitigations.
Google Docs
💥🐞
More Bang for Your Bug Your Bug 1
👍10🔥6
Unleashing a 0day: Pivoting Capabilities and Conquering the Linux Kernel
A talk (video) by Pedro Pinto about exploiting a slab use-after-free bug in the traffic control subsystem.
The author performed multiple cross-cache attacks to ultimately get an arbitrary read/write primitive via pipe_buffer->page and escalate privileges via modprobe_path.
Pedro also shared his experience submitting this bug to the KernelCTF bug bounty program.
A talk (video) by Pedro Pinto about exploiting a slab use-after-free bug in the traffic control subsystem.
The author performed multiple cross-cache attacks to ultimately get an arbitrary read/write primitive via pipe_buffer->page and escalate privileges via modprobe_path.
Pedro also shared his experience submitting this bug to the KernelCTF bug bounty program.
🔥16👍1
Utilizing Cross-CPU Allocation to Exploit Preempt-Disabled Linux Kernel
A talk (video) by Mingi Cho and Wongi Lee about exploiting a slab use-after-free bug in the netfilter subsystem and an out-of-bounds bug in the traffic control subsystem.
The researchers managed to exploit both bugs on the kernelCTF migitation instance. Notably, they relied on cross-CPU slab/page_alloc shaping techniques in both exploits.
A talk (video) by Mingi Cho and Wongi Lee about exploiting a slab use-after-free bug in the netfilter subsystem and an out-of-bounds bug in the traffic control subsystem.
The researchers managed to exploit both bugs on the kernelCTF migitation instance. Notably, they relied on cross-CPU slab/page_alloc shaping techniques in both exploits.
🔥13