CVE-2024-56746
📋 TL;DR
This CVE describes a memory leak vulnerability in the Linux kernel's fbdev sh7760fb driver. When the sh7760fb_alloc_mem() function fails to properly initialize certain structures, it doesn't correctly release DMA-coherent memory, leading to resource exhaustion over time. This affects Linux systems using the sh7760fb framebuffer driver, typically on SuperH architecture platforms.
💻 Affected Systems
- Linux kernel with sh7760fb driver
📦 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
Sustained exploitation could lead to kernel memory exhaustion, causing system instability, denial of service, or potential kernel panic/crash.
Likely Case
Gradual memory leak over time leading to reduced system performance and eventual denial of service requiring system reboot.
If Mitigated
Minimal impact if the vulnerable driver is not loaded or the affected functionality is not used.
🎯 Exploit Status
Exploitation requires ability to trigger framebuffer memory allocation failures in the sh7760fb driver, typically requiring local access or specific hardware interaction.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 0d3fb3b3e9d66f7b6346e3b90bc0ff48683539ce, 29216bb390e36daeebef66abaa02d9751330252b, 3dd9df8e5f34c6fc4217a7498c1fb3c352d4afc2, 40f4326ed05a3b3537556ff2a844958b9e779a98, bad37309c8b8bf1cfc893750df0951a804009ca0
Vendor Advisory: https://git.kernel.org/stable/c/0d3fb3b3e9d66f7b6346e3b90bc0ff48683539ce
Restart Required: Yes
Instructions:
1. Update to a Linux kernel version containing the fix commits. 2. For distributions: Use package manager to update kernel package. 3. For custom kernels: Apply the relevant git commits. 4. Reboot system to load patched kernel.
🔧 Temporary Workarounds
Disable sh7760fb driver
linuxPrevent loading of the vulnerable framebuffer driver
echo 'blacklist sh7760fb' >> /etc/modprobe.d/blacklist.conf
rmmod sh7760fb
Restrict framebuffer access
linuxLimit which users can access framebuffer devices
chmod 600 /dev/fb0
setfacl -m u:root:rw /dev/fb0
🧯 If You Can't Patch
- Monitor system memory usage for unusual increases and implement alerting
- Implement regular system reboots to clear accumulated memory leaks
🔍 How to Verify
Check if Vulnerable:
Check if sh7760fb driver is loaded: lsmod | grep sh7760fb AND check kernel version against affected versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: grep -r 'sh7760fb_alloc_mem' /lib/modules/$(uname -r)/source/ OR check kernel changelog for fix commits
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer messages
- Memory allocation failures in dmesg
- System instability logs
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("out of memory" OR "oom" OR "sh7760fb")
🔗 References
- https://git.kernel.org/stable/c/0d3fb3b3e9d66f7b6346e3b90bc0ff48683539ce
- https://git.kernel.org/stable/c/29216bb390e36daeebef66abaa02d9751330252b
- https://git.kernel.org/stable/c/3dd9df8e5f34c6fc4217a7498c1fb3c352d4afc2
- https://git.kernel.org/stable/c/40f4326ed05a3b3537556ff2a844958b9e779a98
- https://git.kernel.org/stable/c/bad37309c8b8bf1cfc893750df0951a804009ca0
- https://git.kernel.org/stable/c/d10cd53e5a7fb3b7c6f83d4d9a5ea1d97a3ed9a5
- https://git.kernel.org/stable/c/d48cbfa90dce506030151915fa3346d67f964af4
- https://git.kernel.org/stable/c/f4fbd70e15fafe36a7583954ce189aaf5536aeec
- https://git.kernel.org/stable/c/f89d17ae2ac42931be2a0153fecbf8533280c927
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html