CVE-2021-47550
📋 TL;DR
This CVE describes a memory leak vulnerability in the AMD GPU driver within the Linux kernel. When the kobject_init_and_add function fails in the amdgpu_get_xgmi_hive function, the kernel fails to properly release memory, potentially leading to resource exhaustion. This affects Linux systems with AMD GPUs using the affected driver versions.
💻 Affected Systems
- Linux kernel with AMD GPU drivers
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Sustained exploitation could lead to kernel memory exhaustion, causing system instability, denial of service, or kernel panic.
Likely Case
Memory leak gradually consumes kernel resources, potentially leading to performance degradation or system instability over time.
If Mitigated
With proper monitoring and resource limits, impact is limited to potential performance issues that can be detected and addressed.
🎯 Exploit Status
Exploitation requires triggering the specific failure condition in the amdgpu_get_xgmi_hive function, which may require specific hardware/software conditions.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing the fix commits: 27dfaedc0d321b4ea4e10c53e4679d6911ab17aa, 75752ada77e0726327adf68018b9f50ae091baeb, c746945fb6bcbe3863c9ea6369c7ef376e38e5eb
Vendor Advisory: https://git.kernel.org/stable/c/27dfaedc0d321b4ea4e10c53e4679d6911ab17aa
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. Reboot system. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable AMD GPU features if not needed
linuxIf AMD GPU features are not required, consider disabling or removing the amdgpu driver module.
sudo modprobe -r amdgpu
🧯 If You Can't Patch
- Monitor system memory usage and kernel logs for signs of memory leaks
- Implement resource limits and restart services if memory usage becomes excessive
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with affected versions. Check if amdgpu module is loaded: lsmod | grep amdgpu
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version contains the fix commits. Check dmesg for any memory leak warnings related to amdgpu.
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer messages
- Memory allocation failures in dmesg
- amdgpu driver error messages
Network Indicators:
- None - this is a local kernel vulnerability
SIEM Query:
source="kernel" AND ("oom-killer" OR "memory leak" OR "amdgpu" AND "error")
🔗 References
- https://git.kernel.org/stable/c/27dfaedc0d321b4ea4e10c53e4679d6911ab17aa
- https://git.kernel.org/stable/c/75752ada77e0726327adf68018b9f50ae091baeb
- https://git.kernel.org/stable/c/c746945fb6bcbe3863c9ea6369c7ef376e38e5eb
- https://git.kernel.org/stable/c/27dfaedc0d321b4ea4e10c53e4679d6911ab17aa
- https://git.kernel.org/stable/c/75752ada77e0726327adf68018b9f50ae091baeb
- https://git.kernel.org/stable/c/c746945fb6bcbe3863c9ea6369c7ef376e38e5eb