CVE-2023-52598
📋 TL;DR
A race condition vulnerability in the Linux kernel's s390/ptrace interface allows a traced process to corrupt the floating point control (fPC) register of the tracing process. This affects Linux systems running on IBM s390/s390x architecture where ptrace debugging is used. The vulnerability could lead to incorrect floating point calculations or system instability.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Privilege escalation from user to kernel space leading to system compromise, denial of service through system crashes, or data corruption in floating-point calculations.
Likely Case
System instability, incorrect floating-point calculations in tracing processes, or denial of service through kernel panics.
If Mitigated
Minimal impact if ptrace is disabled or restricted via security modules like SELinux/AppArmor.
🎯 Exploit Status
Exploitation requires local access and ability to use ptrace interface. Race condition makes reliable exploitation challenging.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple stable kernel versions with commits: 02c6bbfb08bad78dd014e24c7b893723c15ec7a1, 28a1f492cb527f64593457a0a0f0d809b3f36c25, 6ccf904aac0292e1f6b1a1be6c407c414f7cf713, 6d0822f2cc9b153bf2df49a84599195a2e0d21a8, 7a4d6481fbdd661f9e40e95febb95e3dee82bad3
Vendor Advisory: https://git.kernel.org/stable/c/02c6bbfb08bad78dd014e24c7b893723c15ec7a1
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Check distribution-specific security advisories. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Restrict ptrace access
linuxLimit ptrace usage through kernel.yama.ptrace_scope or security modules.
echo 1 > /proc/sys/kernel/yama/ptrace_scope
sysctl -w kernel.yama.ptrace_scope=1
Disable unnecessary debugging
linuxRemove debugging privileges from non-essential users and processes.
setfacl -m u:username:--- /proc/*/mem
chmod 600 /proc/*/mem
🧯 If You Can't Patch
- Implement strict access controls to limit ptrace usage to trusted processes only.
- Monitor for unusual ptrace activity and system instability on s390 systems.
🔍 How to Verify
Check if Vulnerable:
Check kernel version and architecture: uname -a should show s390/s390x and kernel version before patches.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes one of the fix commits: grep -q '02c6bbfb08bad78dd014e24c7b893723c15ec7a1\|28a1f492cb527f64593457a0a0f0d809b3f36c25\|6ccf904aac0292e1f6b1a1be6c407c414f7cf713\|6d0822f2cc9b153bf2df49a84599195a2e0d21a8\|7a4d6481fbdd661f9e40e95febb95e3dee82bad3' /proc/version
📡 Detection & Monitoring
Log Indicators:
- Kernel oops/panic messages related to floating point operations
- Audit logs showing unusual ptrace activity
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("fpc" OR "floating point" OR "ptrace") AND (error OR panic OR oops)
🔗 References
- https://git.kernel.org/stable/c/02c6bbfb08bad78dd014e24c7b893723c15ec7a1
- https://git.kernel.org/stable/c/28a1f492cb527f64593457a0a0f0d809b3f36c25
- https://git.kernel.org/stable/c/6ccf904aac0292e1f6b1a1be6c407c414f7cf713
- https://git.kernel.org/stable/c/6d0822f2cc9b153bf2df49a84599195a2e0d21a8
- https://git.kernel.org/stable/c/7a4d6481fbdd661f9e40e95febb95e3dee82bad3
- https://git.kernel.org/stable/c/856caf2730ea18cb39e95833719c02a02447dc0a
- https://git.kernel.org/stable/c/8b13601d19c541158a6e18b278c00ba69ae37829
- https://git.kernel.org/stable/c/bdce67df7f12fb0409fbc604ce7c4254703f56d4
- https://git.kernel.org/stable/c/02c6bbfb08bad78dd014e24c7b893723c15ec7a1
- https://git.kernel.org/stable/c/28a1f492cb527f64593457a0a0f0d809b3f36c25
- https://git.kernel.org/stable/c/6ccf904aac0292e1f6b1a1be6c407c414f7cf713
- https://git.kernel.org/stable/c/6d0822f2cc9b153bf2df49a84599195a2e0d21a8
- https://git.kernel.org/stable/c/7a4d6481fbdd661f9e40e95febb95e3dee82bad3
- https://git.kernel.org/stable/c/856caf2730ea18cb39e95833719c02a02447dc0a
- https://git.kernel.org/stable/c/8b13601d19c541158a6e18b278c00ba69ae37829
- https://git.kernel.org/stable/c/bdce67df7f12fb0409fbc604ce7c4254703f56d4
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html