CVE Catalog

CVE-2024-35955

High
Published: Translated: NVD NIST

Summary

A vulnerability has been identified in the Linux kernel related to a possible use-after-free issue during kprobe registration. This issue occurs when the module's state changes during operations, potentially leading to attempts to modify a non-existent module text address.

Risk Assessment

Organizations may be exposed to attacks that exploit this vulnerability for unauthorized access to kernel memory, potentially leading to system destabilization or privilege escalation.

Recommendation

It is recommended to update the Linux kernel to the latest version where this vulnerability has been fixed to minimize the risk associated with attacks exploiting this issue.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: kprobes: Fix possible use-after-free issue on kprobe registration When unloading a module, its state is changing MODULE_STATE_LIVE -> MODULE_STATE_GOING -> MODULE_STATE_UNFORMED. Each change will take a time. `is_module_text_address()` and `__module_text_address()` works with MODULE_STATE_LIVE and MODULE_STATE_GOING. If we use `is_module_text_address()` and `__module_text_address()` separately, there is a chance that the first one is succeeded but the next one is failed because module->state becomes MODULE_STATE_UNFORMED between those operations. In `check_kprobe_address_safe()`, if the second `__module_text_address()` is failed, that is ignored because it expected a kernel_text address. But it may have failed simply because module->state has been changed to MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify non-exist module text address (use-after-free). To fix this problem, we should not use se

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