CVE-2022-49990
📋 TL;DR
This CVE describes a double-free vulnerability in the Linux kernel on s390 architecture that occurs when the fork() system call fails. The vulnerability allows attackers to potentially crash the kernel or execute arbitrary code with kernel privileges. It affects Linux systems running on IBM s390/s390x architecture.
💻 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 →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 allowing complete system compromise.
Likely Case
Kernel crash/panic causing system instability or denial of service, particularly under high system load or during process creation failures.
If Mitigated
System remains stable with no impact if patched or if fork() operations don't fail during the vulnerable window.
🎯 Exploit Status
Exploitation requires local access and ability to trigger fork() failures at specific timing. Discovered through trinity syscall fuzzing tests.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits: 13cccafe0edcd03bf1c841de8ab8a1c8e34f77d9, 25a95303b9e513cd2978aacc385d06e6fec23d07, 297ae7e87a87a001dd3dfeac1cb26a42fd929708, 8195e065abf3df84eb0ad2987e76a40f21d1791c, cacd522e6652fbc2dc0cc6ae11c4e30782fef14b
Vendor Advisory: https://git.kernel.org/stable/c/13cccafe0edcd03bf1c841de8ab8a1c8e34f77d9
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution vendor. 2. For custom kernels, apply the relevant git commits. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable vulnerable kernel features
linuxDisable guarded storage or runtime instrumentation features if not required
Rebuild kernel with CONFIG_GUARDED_STORAGE=n and/or CONFIG_RUNTIME_INSTRUMENTATION=n
🧯 If You Can't Patch
- Restrict local user access to s390 systems
- Monitor for kernel panic/crash events and implement high availability solutions
🔍 How to Verify
Check if Vulnerable:
Check kernel version and architecture: uname -a, and verify if running on s390/s390x with vulnerable kernel versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes the fix commits: grep -r '13cccafe0edcd03bf1c841de8ab8a1c8e34f77d9' /boot/config-* or check kernel source
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- BUG_ON() errors in dmesg
- KASAN splat reports
- System crashes during process creation
Network Indicators:
- None - local vulnerability only
SIEM Query:
search 'kernel panic' OR 'BUG:' OR 'double free' in system logs on s390 hosts
🔗 References
- https://git.kernel.org/stable/c/13cccafe0edcd03bf1c841de8ab8a1c8e34f77d9
- https://git.kernel.org/stable/c/25a95303b9e513cd2978aacc385d06e6fec23d07
- https://git.kernel.org/stable/c/297ae7e87a87a001dd3dfeac1cb26a42fd929708
- https://git.kernel.org/stable/c/8195e065abf3df84eb0ad2987e76a40f21d1791c
- https://git.kernel.org/stable/c/cacd522e6652fbc2dc0cc6ae11c4e30782fef14b
- https://git.kernel.org/stable/c/fbdc482d43eda40a70de4b0155843d5472f6de62