CVE Catalog

CVE-2026-90066

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, ftrace_direct_multi_init() assigns kthread_run()'s return value to simple_tsk without an IS_ERR() check. When kthread_run() fails it returns ERR_PTR(-ENOMEM), but init still returns 0, so the module loads with simple_tsk holding an error pointer. On unload, ftrace_direct_multi_exit() passes that ERR_PTR to kthread_stop(), leading to a null-pointer-dereference.

Risk Assessment

A null-pointer dereference can cause a kernel crash (oops/panic) during module unload. Affects the ftrace-direct-multi-modify sample module.

Recommendation

Update the Linux kernel to a version with the fix that checks kthread_run()'s return value with IS_ERR() and propagates the error code. Avoid loading the vulnerable sample module.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: samples/ftrace: Fix kthread_stop() on ERR_PTR in ftrace-direct-multi-modify ftrace_direct_multi_init() assigns kthread_run()'s return value to simple_tsk without an IS_ERR() check. When kthread_run() fails it returns ERR_PTR(-ENOMEM), but init still returns 0, so the module loads with simple_tsk holding an error pointer. On unload, ftrace_direct_multi_exit() then passes that ERR_PTR to kthread_stop(), leading to a null-pointer-dereference. Check the return value of kthread_run() with IS_ERR(); on failure, unregister the ftrace direct call and propagate the error code.

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