CVE-2023-52804
📋 TL;DR
This CVE is an array index out-of-bounds vulnerability in the JFS filesystem implementation in the Linux kernel. It allows attackers with local access to trigger a kernel panic or potentially execute arbitrary code by exploiting invalid db_maxag and db_agpref values. All Linux systems using the JFS filesystem are affected.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to denial of service, or potential privilege escalation to kernel-level code execution.
Likely Case
Kernel panic causing system crash and denial of service.
If Mitigated
Minimal impact if JFS filesystem is not mounted or system has proper access controls.
🎯 Exploit Status
Requires local access and ability to trigger the specific JFS code path. Syzbot discovered the issue through fuzzing.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing the fix commits (1f74d336990f37703a8eee77153463d65b67f70e and related)
Vendor Advisory: https://git.kernel.org/stable/c/1f74d336990f37703a8eee77153463d65b67f70e
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution. 2. For custom kernels, apply the fix commits from kernel.org. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable JFS filesystem
linuxPrevent mounting of JFS filesystems to avoid the vulnerable code path
# Unmount any JFS filesystems
umount /path/to/jfs/mount
# Blacklist JFS module
echo 'blacklist jfs' >> /etc/modprobe.d/blacklist.conf
# Rebuild initramfs if needed
update-initramfs -u
🧯 If You Can't Patch
- Ensure JFS filesystems are not mounted on production systems
- Implement strict access controls to prevent local users from triggering JFS operations
🔍 How to Verify
Check if Vulnerable:
Check if JFS is mounted: 'mount | grep -i jfs' and check kernel version against distribution advisories
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: 'uname -r' and check with distribution vendor
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/kern.log or dmesg
- UBSAN array-index-out-of-bounds errors related to jfs_dmap.c
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kern.log" AND "UBSAN: array-index-out-of-bounds" AND "jfs_dmap.c"
🔗 References
- https://git.kernel.org/stable/c/1f74d336990f37703a8eee77153463d65b67f70e
- https://git.kernel.org/stable/c/2323de34a3ae61a9f9b544c18583f71cea86721f
- https://git.kernel.org/stable/c/32bd8f1cbcf8b663e29dd1f908ba3a129541a11b
- https://git.kernel.org/stable/c/5013f8269887642cca784adc8db9b5f0b771533f
- https://git.kernel.org/stable/c/64933ab7b04881c6c18b21ff206c12278341c72e
- https://git.kernel.org/stable/c/a0649e2dd4a3595b5595a29d0064d047c2fae2fb
- https://git.kernel.org/stable/c/c6c8863fb3f57700ab583d875adda04caaf2278a
- https://git.kernel.org/stable/c/ce15b0f1a431168f07b1cc6c9f71206a2db5c809
- https://git.kernel.org/stable/c/dca403bb035a565bb98ecc1dda5d30f676feda40
- https://git.kernel.org/stable/c/1f74d336990f37703a8eee77153463d65b67f70e
- https://git.kernel.org/stable/c/2323de34a3ae61a9f9b544c18583f71cea86721f
- https://git.kernel.org/stable/c/32bd8f1cbcf8b663e29dd1f908ba3a129541a11b
- https://git.kernel.org/stable/c/5013f8269887642cca784adc8db9b5f0b771533f
- https://git.kernel.org/stable/c/64933ab7b04881c6c18b21ff206c12278341c72e
- https://git.kernel.org/stable/c/a0649e2dd4a3595b5595a29d0064d047c2fae2fb
- https://git.kernel.org/stable/c/c6c8863fb3f57700ab583d875adda04caaf2278a
- https://git.kernel.org/stable/c/ce15b0f1a431168f07b1cc6c9f71206a2db5c809
- https://git.kernel.org/stable/c/dca403bb035a565bb98ecc1dda5d30f676feda40