Linux Kernel NULL Pointer Dereference Vulnerability in Traffic Control Action Handling

Vulnerability

A vulnerability in the Linux kernel's traffic control (tc) subsystem can lead to a NULL pointer dereference. This issue arises in the 'cls_api' classifier when the function 'tcf_exts_miss_cookie_base_alloc()' calls 'xa_alloc_cyclic()'. If the allocation succeeds after wrapping, 'xa_alloc_cyclic()' returns 1, which is incorrectly treated as an error. This erroneous error handling causes a NULL pointer dereference in 'tcf_action_init()', leading to a kernel crash. The vulnerability has been observed in Linux kernel version 5.14.0-503.16.1.el9_5.x86_64.

Impact

Exploitation of this vulnerability causes a kernel NULL pointer dereference, leading to a system crash.

Reproduction

The vulnerability can be reproduced by triggering the 'tcf_exts_miss_cookie_base_alloc()' function in the 'cls_flower' classifier. This function will allocate a cookie base cyclically, and if the allocation wraps around and returns 1, it will be misinterpreted as a failure. The subsequent error handling will set the actions pointer to NULL and return 1, which 'fl_change()' interprets as a success. This process will eventually lead to a NULL pointer dereference in 'tcf_action_init()', causing a kernel crash.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.7
remediation
0.0
relevance
0.0
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.