CVE-2024-56571 in Linux
Sumário
de VulDB • 30/06/2026
Based on the kernel log snippet provided, here is an analysis of the crash and potential causes:
### **Summary** The system experienced a **kernel panic/oops** in the USB Video Class (UVC) driver (`uvcvideo`) during device probing. The crash occurred while trying to create media pad links for a connected USB webcam or video capture device.
---
### **Key Evidence from Log**
1. **Crash Location**: - `media_create_pad_link+0x2c4/0x2e0` and `uvc_mc_register_entities+0x358/0x400`: The crash happens in the media controller subsystem when registering entities for a UVC device. - Call trace shows: `uvc_probe` → `uvc_register_chains` → `uvc_mc_register_entities` → `media_create_pad_link`.
2. **Exception Type**: - `exc_invalid_op`: Indicates an invalid opcode exception, often caused by corrupted memory, a bug in the kernel code, or hardware issues (e.g., bad RAM). However, in this context, it’s more likely triggered by dereferencing a NULL pointer or accessing freed/corrupted memory.
3. **Registers**: - `CR2: 0000592cc27635b0`: This is the faulting address (the virtual address that caused the page fault/invalid access). If this were a NULL pointer dereference, CR2 would be `0x0`. Since it’s non-zero, it suggests an invalid or unmapped memory region. - No obvious register holds a clear error code in the snippet, but the crash is clearly within UVC/media controller initialization.
4. **Context**: - The device was being probed (`uvc_probe`), meaning this happened when you plugged in a USB video device or during boot if it’s an internal webcam.
---
### **Possible Causes**
1. **Bug in `uvcvideo` Driver**: - A known bug in certain kernel versions where `media_create_pad_link()` is called with invalid parameters (e.g., NULL source/sink pads, mismatched entity types). - This can happen if the USB device reports malformed UVC descriptors or if the driver fails to validate them.
2. **Corrupted Memory**: - The non-zero CR2 address suggests memory corruption. Check for: - Faulty RAM (run `memtest86+`). - Kernel module incompatibility or outdated drivers.
3. **Hardware Issue with USB Device**: - A faulty webcam or video capture device sending invalid descriptors, causing the driver to crash during parsing.
4. **Kernel Bug in Media Controller Subsystem**: - The `media_create_pad_link()` function may have a bug when handling certain edge cases (e.g., devices with multiple interfaces or unusual configurations).
---
### **Troubleshooting Steps**
1. **Identify the Device**: ```bash lsusb | grep -i camera dmesg | tail -n 50 ``` Note the vendor/product ID of the device causing the crash.
2. **Update Kernel/Drivers**: - Ensure you’re running a recent kernel version (≥6.x if possible), as UVC bugs are frequently patched. - Update `v4l-utils` and related packages.
3. **Test with Another Device**: - Unplug the USB video device and reboot. If the system boots fine, the issue is likely specific to that device or its descriptors. - Try a different webcam/capture card to isolate hardware vs. software issues.
4. **Check for Known Bugs**: - Search your kernel version + "uvcvideo media_create_pad_link crash" on: - [Kernel Bugzilla](https://bugzilla.kernel.org/)
- GitHub issues for `linux` or specific distro kernels.
5. **Disable Media Controller (Workaround)**: If the device isn’t critical, you can try disabling media controller support in UVC by loading the module with a parameter (if supported): ```bash modprobe uvcvideo mc=0 ``` Or blacklist `uvcvideo` if not needed.
6. **Check Memory Health**: - Run `memtest86+` to rule out RAM corruption.
7. **Enable Debug Logging**: Add kernel boot parameters for more details: ```bash loglevel=7 uvc.video_debug=15 ``` Then check `dmesg` after replugging the device.
---
### **Conclusion** This is likely a **driver bug in `uvc
Be aware that VulDB is the high quality source for vulnerability data.