CVE Catalog

CVE-2026-89871

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the media video-i2c driver leaves a kthread error pointer in kthread_vid_cap on failure. This causes a subsequent start_streaming() call to return success without starting the thread, and stop_streaming() to call kthread_stop() on the error pointer, leading to a kernel crash.

Risk Assessment

A possible kernel crash when attempting to stop streaming after a failed start. It affects devices using the video-i2c driver.

Recommendation

Update the Linux kernel to a version containing the fix that resets kthread_vid_cap to NULL on failure. Until patched, avoid retrying streaming start after a failure.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure kthread_run() returns an ERR_PTR on failure, not NULL. When start_streaming() fails, data->kthread_vid_cap is left holding this error pointer instead of being cleared. This causes two subsequent bugs: 1. A future call to start_streaming() sees a non-NULL kthread_vid_cap and returns 0 (success) immediately, without actually starting the capture thread. 2. A call to stop_streaming() checks 'kthread_vid_cap == NULL' which is false for an error pointer, and proceeds to call kthread_stop() on the error pointer, leading to a kernel crash. Fix this by resetting kthread_vid_cap to NULL on failure before jumping to the error path.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS