CVE-2023-4273: a vulnerability in the Linux exFAT driver
An article by Maxim Suhanov about bypassing the kernel lockdown by exploiting a stack buffer-overflow in the exFAT driver.
An article by Maxim Suhanov about bypassing the kernel lockdown by exploiting a stack buffer-overflow in the exFAT driver.
My DFIR Blog
CVE-2023-4273: a vulnerability in the Linux exFAT driver
According to the exFAT file system specification, the maximum length of a file name is 255 characters (UTF-16LE): The FileName field shall contain a Unicode string, which is a portion of the file n…
👍6
Rustproofing Linux
Four-part article describing the vulnerability classes that may exist in the Linux kernel modules written in Rust language.
▪️Part 1 is about leaking kernel addresses
▪️Part 2 describes race conditions
▪️Part 3 discusses integer overflows
▪️Part 4 goes through shared memory bugs
Four-part article describing the vulnerability classes that may exist in the Linux kernel modules written in Rust language.
▪️Part 1 is about leaking kernel addresses
▪️Part 2 describes race conditions
▪️Part 3 discusses integer overflows
▪️Part 4 goes through shared memory bugs
Nccgroup
Cyber Security Research
Cutting-edge cyber security research from NCC Group. Find public reports, technical advisories, analyses, & other novel insights from our global experts.
👍21
Tickling and unleashing ksmbd
Two articles about fuzzing and remotely exploiting ksmbd — the Linux kernel SMB module — by notselwyn.
The first article describes how the author used syzkaller and KCOV for coverage-guided fuzzing of ksmbd.
The second article demonstrates how to exploit two of the found bugs: a null-pointer-dereference that leads to a DoS and an out-of-bounds read that leads to an info-leak.
Two articles about fuzzing and remotely exploiting ksmbd — the Linux kernel SMB module — by notselwyn.
The first article describes how the author used syzkaller and KCOV for coverage-guided fuzzing of ksmbd.
The second article demonstrates how to exploit two of the found bugs: a null-pointer-dereference that leads to a DoS and an out-of-bounds read that leads to an info-leak.
Pwning Tech
Tickling ksmbd: fuzzing SMB in the Linux kernel
Following the adventure of manually discovering network-based vulnerabilities in the Linux kernel, I'm adding ksmbd-fuzzing functionality to the already extensive kernel-fuzzing tool that is Syzkaller.
👍5
Analyzing a Modern In-the-wild Android Exploit
An article by Seth Jenkins about analyzing the kernel privilege escalation stage of an Android exploit detected in the wild.
The analyzed stage used a locking bug in the ALSA subsystem and a poorly designed interface feature of the Mali GPU driver to achieve an arbitrary read/write primitive from the system_server context.
An article by Seth Jenkins about analyzing the kernel privilege escalation stage of an Android exploit detected in the wild.
The analyzed stage used a locking bug in the ALSA subsystem and a poorly designed interface feature of the Mali GPU driver to achieve an arbitrary read/write primitive from the system_server context.
projectzero.google
Analyzing a Modern In-the-wild Android Exploit - Project Zero
By Seth Jenkins, Project ZeroIntroductionIn December 2022, Google’s Threat Analysis Group (TAG) discovered an in-the-wild exploit chain targeting Samsu...
👍5
kernel-hardening-checker
My open source tool for checking the security hardening options of the Linux kernel got a new name: kernel-hardening-checker.
Now it supports checking:
1️⃣ Kconfig options (compile-time)
2️⃣ Kernel cmdline arguments (boot-time)
3️⃣ Sysctl parameters (runtime)
My open source tool for checking the security hardening options of the Linux kernel got a new name: kernel-hardening-checker.
Now it supports checking:
1️⃣ Kconfig options (compile-time)
2️⃣ Kernel cmdline arguments (boot-time)
3️⃣ Sysctl parameters (runtime)
GitHub
GitHub - a13xp0p0v/kernel-hardening-checker: A tool for checking the security hardening options of the Linux kernel
A tool for checking the security hardening options of the Linux kernel - a13xp0p0v/kernel-hardening-checker
👍16👏3🤔1
Escaping the Google kCTF Container with a Data-Only Exploit
An article by h0mbre about exploiting a use-after-free on struct file in the io_uring subsystem.
The exploit uses a cross-cache attack to reclaim the freed struct file with a pipe buffer, fakes two different file structs to gain arbitrary address read and write, gets root privileges, and escapes the kernelCTF container.
An article by h0mbre about exploiting a use-after-free on struct file in the io_uring subsystem.
The exploit uses a cross-cache attack to reclaim the freed struct file with a pipe buffer, fakes two different file structs to gain arbitrary address read and write, gets root privileges, and escapes the kernelCTF container.
The Human Machine Interface
Escaping the Google kCTF Container with a Data-Only Exploit
Introduction I’ve been doing some Linux kernel exploit development/study and vulnerability research off and on since last Fall and a few months ago I had some downtime on vacation to sit and challenge myself to write my first data-only exploit for a real…
👍13
Enable MTE on Pixel 8
Instructions for enabling Memory Tagging Extension for the kernel on Pixel 8 by Kees Cook.
The instructions describe how to enable kernel MTE in the reporting mode. Enabling MTE as a mitigation for kernel memory corruptions requires additionally passing
MTE as a kernel mitigation is still an experimental feature and requires improvements as previously pointed out by Mark Brand.
Instructions for enabling Memory Tagging Extension for the kernel on Pixel 8 by Kees Cook.
The instructions describe how to enable kernel MTE in the reporting mode. Enabling MTE as a mitigation for kernel memory corruptions requires additionally passing
kasan.fault=panic to the kernel command-line as pointed out by Andrey Konovalov.MTE as a kernel mitigation is still an experimental feature and requires improvements as previously pointed out by Mark Brand.
👍2🤔1
Exploring Linux's New Random Kmalloc Caches
An article by sam4k about the new CONFIG_RANDOM_KMALLOC_CACHES mitigation.
The article gives an overview of the currently used slab exploitation techniques, provides a deep analysis of the CONFIG_RANDOM_KMALLOC_CACHES implementation, and reasons about how the new mitigation affects the existing techniques.
An article by sam4k about the new CONFIG_RANDOM_KMALLOC_CACHES mitigation.
The article gives an overview of the currently used slab exploitation techniques, provides a deep analysis of the CONFIG_RANDOM_KMALLOC_CACHES implementation, and reasons about how the new mitigation affects the existing techniques.
sam4k
Exploring Linux's New Random Kmalloc Caches
Let's explore the modern kernel heap exploitation meta and how the new RANDOM_KMALLOC_CACHES tries to address it.
👍9🔥2
One shot, Triple kill: Pwning all three Google kernelCTF instances with a single 1-day Linux vulnerability
Slides by Dongok Kim, SeungHyun Lee, and Insu Yun about exploiting a slab use-after-free in the netfilter subsystem.
The researchers managed to exploit all instances of Google's kernelCTF with the same bug, including the instance with advanced custom mitigations.
This research is also available in text form.
Slides by Dongok Kim, SeungHyun Lee, and Insu Yun about exploiting a slab use-after-free in the netfilter subsystem.
The researchers managed to exploit all instances of Google's kernelCTF with the same bug, including the instance with advanced custom mitigations.
This research is also available in text form.
Hacking Lab
One shot, Triple kill: Pwning all three Google kernelCTF instances with a single 1-day Linux vulnerability | Hacking Lab
Desktops, servers, cloud computing services, mobile devices, and IoT devices. Linux is the most popular open-source kernel and is used in various IT platforms. Because of the ubiquitous presence of Linux and the characteristic of the kernel which governs…
🔥17👍1
Conquering the memory through io_uring - Analysis of CVE-2023-2598
An article by Yordan Stoychev about exploiting a logical bug in the io_uring subsystem. The bug leads to the out-of-bounds read/write access to the physical memory.
In the shared exploit, the author leaked and corrupted a sock structure to bypass KASLR and spawn a root shell via call_usermodehelper.
An article by Yordan Stoychev about exploiting a logical bug in the io_uring subsystem. The bug leads to the out-of-bounds read/write access to the physical memory.
In the shared exploit, the author leaked and corrupted a sock structure to bypass KASLR and spawn a root shell via call_usermodehelper.
a place of anatomical precision
Conquering the memory through io_uring - Analysis of CVE-2023-2598
A logic bug in io_uring leading to Local Privilege Escalation
👍12
Ubuntu Shiftfs: Unbalanced Unlock Exploitation Attempt
Slides by Jean-Baptiste Cayrou about analyzing an inode locking issue in the shiftfs filesystem in Ubuntu.
The presenter focuses on how they turned the locking issue into a race condition, widened the race window, and caused a slab use-after-free. The researcher also outlines the further exploitation strategy for getting the root privileges.
Slides by Jean-Baptiste Cayrou about analyzing an inode locking issue in the shiftfs filesystem in Ubuntu.
The presenter focuses on how they turned the locking issue into a race condition, widened the race window, and caused a slab use-after-free. The researcher also outlines the further exploitation strategy for getting the root privileges.
👍6🔥2
RetSpill: Igniting User-Controlled Data to Burn Away Linux Kernel Protections
A paper by Kyle Zeng et al. about techniques for saving controlled data on the kernel stack for exploiting control flow hijacking primitives.
The paper also gives an overview of the previously existing approaches for using controlled data with control flow hijacking primitives and the mitigations that affect them.
The authors also developed a semi-automated framework for turning control flow hijacking crashers into privilege escalation exploits based on their techniques.
A paper by Kyle Zeng et al. about techniques for saving controlled data on the kernel stack for exploiting control flow hijacking primitives.
The paper also gives an overview of the previously existing approaches for using controlled data with control flow hijacking primitives and the mitigations that affect them.
The authors also developed a semi-automated framework for turning control flow hijacking crashers into privilege escalation exploits based on their techniques.
👏8👍3🤔1
Understanding Dirty Pagetable - m0leCon Finals 2023 CTF Writeup
ptr-yudai published a write-up about exploiting a slab use-after-free on the file structure provided in a CTF challenge.
The researcher used a cross-cache attack and the Dirty Pagetable technique to execute a shellcode in the kernel space, which allowed to gain root privileges and escape from nsjail.
ptr-yudai published a write-up about exploiting a slab use-after-free on the file structure provided in a CTF challenge.
The researcher used a cross-cache attack and the Dirty Pagetable technique to execute a shellcode in the kernel space, which allowed to gain root privileges and escape from nsjail.
🔥14
Linux Kernel GSM Multiplexing Race Condition Local Privilege Escalation Vulnerability (CVE-2023-6546)
An article by Nassim Asrir about exploiting a race condition that leads to a kmalloc-1k use-after-free in the n_gsm TTY line discipline module.
In the exploit, the researcher overwrote the freed object, gained an arbitrary function call with a controlled argument primitive, and escalated privileges by spawning a userspace process via run_cmd.
The exploit bypasses KASLR by leaking the kernel address from world-readable /sys/kernel/notes. This is a separate vulnerability that still affects up-to-date kernels that enable CONFIG_XEN_PV.
To bypass SMAP, the author used a novel technique of filling the kernfs_pr_cont_buf global variable with controlled data from userspace. The data is supplied as the path to a cgroup filter created via iptables, whose use requires unprivileged user namespaces.
The repository with the exploit also contains a set of noscripts for automatically extracting symbol offsets for Ubuntu, CentOS, and RHEL kernels.
An article by Nassim Asrir about exploiting a race condition that leads to a kmalloc-1k use-after-free in the n_gsm TTY line discipline module.
In the exploit, the researcher overwrote the freed object, gained an arbitrary function call with a controlled argument primitive, and escalated privileges by spawning a userspace process via run_cmd.
The exploit bypasses KASLR by leaking the kernel address from world-readable /sys/kernel/notes. This is a separate vulnerability that still affects up-to-date kernels that enable CONFIG_XEN_PV.
To bypass SMAP, the author used a novel technique of filling the kernfs_pr_cont_buf global variable with controlled data from userspace. The data is supplied as the path to a cgroup filter created via iptables, whose use requires unprivileged user namespaces.
The repository with the exploit also contains a set of noscripts for automatically extracting symbol offsets for Ubuntu, CentOS, and RHEL kernels.
GitHub
GitHub - zerozenxlabs/ZDI-24-020
Contribute to zerozenxlabs/ZDI-24-020 development by creating an account on GitHub.
👍13👏2🤔1
KernelGPT: Enhanced Kernel Fuzzing via Large Language Models
A paper by Chenyuan Yang et. al about using the GPT4 LLM neural network for automatically generating syzkaller denoscriptions.
A paper by Chenyuan Yang et. al about using the GPT4 LLM neural network for automatically generating syzkaller denoscriptions.
👍17
CodeQL query to find interesting objects for slab exploitation
A CodeQL noscript by Jordy Zomer for finding slab allocations of particular size or type.
Eduardo Vela also made a dynamic dashboard based on this noscript.
A CodeQL noscript by Jordy Zomer for finding slab allocations of particular size or type.
Eduardo Vela also made a dynamic dashboard based on this noscript.
👍13🔥3🤔1
Linux is a CNA
Greg Kroah-Hartman announced that the Linux kernel project has been accepted as a CVE Numbering Authority (CNA) for vulnerabilities found in Linux.
In his post, Greg referenced the patch documenting the process of CVE allocation and the mailing list where the announcement are published.
Greg Kroah-Hartman announced that the Linux kernel project has been accepted as a CVE Numbering Authority (CNA) for vulnerabilities found in Linux.
In his post, Greg referenced the patch documenting the process of CVE allocation and the mailing list where the announcement are published.
🎉13👍5🤔1
SyzRetrospector: A Large-Scale Retrospective Study of Syzbot
Joseph Bursey, Ardalan Amiri Sani, and Zhiyun Qian published an article analyzing how changes in the Linux kernel and syzkaller influence the ability of syzbot to find bugs.
In the paper, the researchers share the key results of their analysis and offer suggestions on how to improve the syzbot effectiveness.
Joseph Bursey, Ardalan Amiri Sani, and Zhiyun Qian published an article analyzing how changes in the Linux kernel and syzkaller influence the ability of syzbot to find bugs.
In the paper, the researchers share the key results of their analysis and offer suggestions on how to improve the syzbot effectiveness.
🔥4🤔2👍1
Mali GPU Kernel LPE
An article by simo about expoiting a kernel pointer leak and an out-of-bounds write bug in the Mali GPU driver.
The shared exploit leverages the pipe_buffer structure to gain arbitrary read/write to disable SELinux and gain root privileges on Pixel 7 and 8 Pro phones.
In the article, the researcher also pointed out the non-transparent and confusing handling of reported vulnerabilities by Google.
An article by simo about expoiting a kernel pointer leak and an out-of-bounds write bug in the Mali GPU driver.
The shared exploit leverages the pipe_buffer structure to gain arbitrary read/write to disable SELinux and gain root privileges on Pixel 7 and 8 Pro phones.
In the article, the researcher also pointed out the non-transparent and confusing handling of reported vulnerabilities by Google.
🔥7👍4
Gaining kernel code execution on an MTE-enabled Pixel 8
An article by Man Yue Mo about exploiting a race condition in the JIT memory regions handling code in the Mali GPU driver.
The shared exploit disables SELinux and gains root privileges from the untrusted_app context on Pixel 8.
In the article, the author also pointed out that MTE (Memory Tagging Extension) does not prevent the exploitation of this bug, as invalid memory accesses happen through the GPU coprocessor.
An article by Man Yue Mo about exploiting a race condition in the JIT memory regions handling code in the Mali GPU driver.
The shared exploit disables SELinux and gains root privileges from the untrusted_app context on Pixel 8.
In the article, the author also pointed out that MTE (Memory Tagging Extension) does not prevent the exploitation of this bug, as invalid memory accesses happen through the GPU coprocessor.
👍11
Flipping Pages: An analysis of a new Linux vulnerability in nf_tables and hardened exploitation techniques
An incredibly detailed and well-presented article by notselwyn about exploiting a logical bug in the netfilter subsystem.
The shared exploit leverages the bug to get a page double-free primitive and then execute the Kernel Space Mirroring Attack (KSMA) via a novel Dirty Pagedirectory technique.
The amount of knowledge shared in the article is impossible to encompass in a brief summary, so go check it out yourself! 🔥
An incredibly detailed and well-presented article by notselwyn about exploiting a logical bug in the netfilter subsystem.
The shared exploit leverages the bug to get a page double-free primitive and then execute the Kernel Space Mirroring Attack (KSMA) via a novel Dirty Pagedirectory technique.
The amount of knowledge shared in the article is impossible to encompass in a brief summary, so go check it out yourself! 🔥
Pwning Tech
Flipping Pages: An analysis of a new Linux vulnerability in nf_tables and hardened exploitation techniques
A tale about exploiting KernelCTF Mitigation, Debian, and Ubuntu instances with a double-free in nf_tables in the Linux kernel, using novel techniques like Dirty Pagedirectory. All without even having to recompile the exploit for different kernel targets…
🔥14👍9😱1