CVE-2024-58237

bpf: consider that tail calls invalidate packet pointers

State
Published
Severity
7.8 High
Published
May 5, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

bpf: consider that tail calls invalidate packet pointers

Tail-called programs could execute any of the helpers that invalidate packet pointers. Hence, conservatively assume that each tail call invalidates packet pointers.

Making the change in bpf_helper_changes_pkt_data() automatically makes use of check_cfg() logic that computes 'changes_pkt_data' effect for global sub-programs, such that the following program could be rejected:

int tail_call(struct __sk_buff *sk) { bpf_tail_call_static(sk, &jmp_table, 0); return 0; }

SEC("tc") int not_safe(struct __sk_buff *sk) { int *p = (void *)(long)sk->data; ... make p valid ... tail_call(sk); *p = 42; /* this is unsafe */ ... }

The tc_bpf2bpf.c:subprog_tc() needs change: mark it as a function that can invalidate packet pointers. Otherwise, it can't be freplaced with tailcall_freplace.c:entry_freplace() that does a tail call.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 51c39bb1d5d105a02e29aa7960f0a395086e6342 to before f1692ee23dcaaddc24ba407b269707ee5df1301fAffected
  • 51c39bb1d5d105a02e29aa7960f0a395086e6342 to before 1c2244437f9ad3dd91215f920401a14f2542dbfcAffected
  • 51c39bb1d5d105a02e29aa7960f0a395086e6342 to before 1a4607ffba35bf2a630aab299e34dd3f6e658d70Affected
LinuxLinux
  • 5.6Affected
  • before 5.6Not affected
  • 6.6.90 through 6.6.*Not affected
  • 6.12.9 through 6.12.*Not affected
  • 6.13 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.