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
1day vuln dev: DirtyCOW
A video by SideQuest covering the author's approach to analyzing the DirtyCow vulnerability.
A video by SideQuest covering the author's approach to analyzing the DirtyCow vulnerability.
YouTube
1day vuln dev: DirtyCOW
This vid is an extended ver of https://www.youtube.com/watch?v=z9QHj5TZXJE
* SideQuest discord server: https://discord.gg/f4KQeNCsNJ
---
Some related links of stuff I mentioned in the vid:
* clangd: https://clangd.llvm.org/
* menuconfig:
* https://w…
* SideQuest discord server: https://discord.gg/f4KQeNCsNJ
---
Some related links of stuff I mentioned in the vid:
* clangd: https://clangd.llvm.org/
* menuconfig:
* https://w…
👍9🤔4🤯1
Defects-in-Depth: Analyzing the Integration of Effective Defenses against One-Day Exploits in Android Kernels
An outstanding paper by Lukas Maar et al. about analyzing the exploitation techniques used in public 1-day Android kernel exploits over the last few years and cross-referencing them with the mitigations implemented by various Android vendors 🔥
An outstanding paper by Lukas Maar et al. about analyzing the exploitation techniques used in public 1-day Android kernel exploits over the last few years and cross-referencing them with the mitigations implemented by various Android vendors 🔥
👍9🔥1
Novel approach to exploit a limited OOB on Ubuntu at Pwn2Own Vancouver 2024
Slides from a talk by Pumpkin Chang about exploiting a stack out-of-bounds write bug in the traffic control subsystem.
Pumpkin shaped vmalloc memory to make the stack out-of-bounds access land in an eBPF bytecode allocation and used the write primitive to overwrite the eBPF bytecode as it was being JITed.
Slides from a talk by Pumpkin Chang about exploiting a stack out-of-bounds write bug in the traffic control subsystem.
Pumpkin shaped vmalloc memory to make the stack out-of-bounds access land in an eBPF bytecode allocation and used the write primitive to overwrite the eBPF bytecode as it was being JITed.
🔥8🤯4👏2👍1😱1
OtterRoot: Netfilter Universal Root 1-day
An article by Pedro Pinto about exploiting a slab double-free bug in the netfilter subsystem.
Pedro wrote two exploits for this bug: one that relies on ROP and that was used to exploit a kernelCTF instance, and the other that gets physical memory arbitrary read/write without relying on any offsets.
An article by Pedro Pinto about exploiting a slab double-free bug in the netfilter subsystem.
Pedro wrote two exploits for this bug: one that relies on ROP and that was used to exploit a kernelCTF instance, and the other that gets physical memory arbitrary read/write without relying on any offsets.
OtterSec
OtterRoot: Netfilter Universal Root 1-day
A peek into the state of Linux kernel security and the open-source patch-gap. We explore how we monitored commits to find new bug fixes and achieved 0day-like capabilities by exploiting a 1-day vulnerability.
🔥14👍1