CVE-2024-50163

bpf: Make sure internal and UAPI bpf_redirect flags don't overlap

State
Published
Severity
5.5 Medium
Published
Nov 7, 2024
Updated
May 11, 2026
Reserved
Oct 21, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

bpf: Make sure internal and UAPI bpf_redirect flags don't overlap

The bpf_redirect_info is shared between the SKB and XDP redirect paths, and the two paths use the same numeric flag values in the ri->flags field (specifically, BPF_F_BROADCAST == BPF_F_NEXTHOP). This means that if skb bpf_redirect_neigh() is used with a non-NULL params argument and, subsequently, an XDP redirect is performed using the same bpf_redirect_info struct, the XDP path will get confused and end up crashing, which syzbot managed to trigger.

With the stack-allocated bpf_redirect_info, the structure is no longer shared between the SKB and XDP paths, so the crash doesn't happen anymore. However, different code paths using identically-numbered flag values in the same struct field still seems like a bit of a mess, so this patch cleans that up by moving the flag definitions together and redefining the three flags in BPF_F_REDIRECT_INTERNAL to not overlap with the flags used for XDP. It also adds a BUILD_BUG_ON() check to make sure the overlap is not re-introduced by mistake.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e624d4ed4aa8cc3c69d1359b0aaea539203ed266 to before 4e1e428533845d48828bd3875c0e92e8565b9962Affected
  • e624d4ed4aa8cc3c69d1359b0aaea539203ed266 to before 314dbee9fe4f5cee36435465de52c988d7caa466Affected
  • e624d4ed4aa8cc3c69d1359b0aaea539203ed266 to before 0fca5ed4be8e8bfbfb9bd97845af596bab7192d3Affected
  • e624d4ed4aa8cc3c69d1359b0aaea539203ed266 to before cec288e05ceac9a0d3a3a1fd279534b11844c826Affected
  • e624d4ed4aa8cc3c69d1359b0aaea539203ed266 to before 09d88791c7cd888d5195c84733caf9183dcfbd16Affected
LinuxLinux
  • 5.14Affected
  • before 5.14Not affected
  • 5.15.170 through 5.15.*Not affected
  • 6.1.115 through 6.1.*Not affected
  • 6.6.59 through 6.6.*Not affected
  • 6.11.6 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.