CVE-2024-58237
Last modified
CVE-2024-58237 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. 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; ... EPSS estimates a 0.16% chance of exploitation in the next 30 days.
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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | >= 5.6, < 6.6.90 | — |
| Linux | Linux Kernel | >= 6.7, < 6.12.9 | — |
| Linux | Linux Kernel | 6.13 | Rc1 |
References
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2024-58237?
How severe is CVE-2024-58237?
How do I fix CVE-2024-58237?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2024
- CVE-2024-5818The Royal Elementor Addons and Templates plugin for WordPres…5.4
- CVE-2024-5819The Gutenberg Blocks with AI by Kadence WP – Page Builder Fe…5.4
- CVE-2024-5820An unprotected WebSocket connection in the latest version of…8.8
- CVE-2024-5821The vulnerability allows an attacker to access sensitive fil…6.2
- CVE-2024-5822A Server-Side Request Forgery (SSRF) vulnerability exists in…9.8
- CVE-2024-5823A file overwrite vulnerability exists in gaizhenbiao/chuanhu…9.1
- CVE-2024-58238In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-58239In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-5824A path traversal vulnerability in the `/set_personality_conf…7.4
- CVE-2024-58240In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2024-58241In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-58242Rejected reason: ** REJECT ** DO NOT USE THIS CVE RECORD. Co…
Are you affected by CVE-2024-58237?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
