CVE-2023-53338
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk40th percentile - higher than 40% of all known CVEs
Summary
In the Linux kernel, the lwt (lightweight tunnels) subsystem has an issue with return values of BPF xmit ops. Functions skb_do_redirect and bpf_lwt_xmit_reroute can return various positive values that are incorrectly treated as LWTUNNEL_XMIT_CONTINUE, leading to use-after-free and kernel crashes. The fix discards skb_do_redirect return values and converts bpf_lwt_xmit_reroute return values.
Risk Assessment
The vulnerability may lead to kernel crashes and potentially privilege escalation in systems using lightweight tunnels and BPF.
Recommendation
Apply the Linux kernel update containing the fix for CVE-2023-53338. Update systems with lightweight tunnels enabled.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: lwt: Fix return values of BPF xmit ops BPF encap ops can return different types of positive values, such like NET_RX_DROP, NET_XMIT_CN, NETDEV_TX_BUSY, and so on, from function skb_do_redirect and bpf_lwt_xmit_reroute. At the xmit hook, such return values would be treated implicitly as LWTUNNEL_XMIT_CONTINUE in ip(6)_finish_output2. When this happens, skbs that have been freed would continue to the neighbor subsystem, causing use-after-free bug and kernel crashes. To fix the incorrect behavior, skb_do_redirect return values can be simply discarded, the same as tc-egress behavior. On the other hand, bpf_lwt_xmit_reroute returns useful errors to local senders, e.g. PMTU information. Thus convert its return values to avoid the conflict with LWTUNNEL_XMIT_CONTINUE.

