Skip to main content
VulnerabilityPublished Updated

CVE-2024-26589: Linux kernel · bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS

Affects Linux kernelSource GCVE Database

0
Compare
Authoritative record:CVE-2024-26589· High 7.8

Not known to be exploited · CVSS 7.8 High · fixed in 5.4.0-1123.133~18.04.1 : patch Linux kernel soon.

Data as of 12 Nov 2026, 18:50 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (Linux)CVSS 3.17.8
Patch
Available – fixed in 5.4.0-1123.133~18.04.1, 5.4.0-1128.135~18.04.1, 5.4.0-1127.136~18.04.1 +61
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 22 Feb 2024

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 12 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
Ubuntu Pro Realtime 24.04 LTSlinux-raspi-realtimepkg:deb/ubuntu/linux-raspi-realtime?arch=source&distro=realtime/nobleOther threatsAffected
  • <6.8.0-2001.1
Fixed in
  • 6.8.0-2001.1
Ubuntu 22.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=jammyOther threatsAffected
  • <5.15.0-102.112
Fixed in
  • 5.15.0-102.112
Ubuntu 22.04 LTSlinux-allwinner-5.19pkg:deb/ubuntu/linux-allwinner-5.19?arch=source&distro=jammyOther threatsAffected
  • 5.19.0-1007.7~22.04.1 – 5.19.0-1015.15~22.04.1
8 affected builds
Fixed in–
Ubuntu 22.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=jammyOther threatsAffected
  • <5.15.0-1057.63
Fixed in
  • 5.15.0-1057.63
Ubuntu 22.04 LTSlinux-aws-5.19pkg:deb/ubuntu/linux-aws-5.19?arch=source&distro=jammyOther threatsAffected
  • 5.19.0-1019.20~22.04.1 – 5.19.0-1029.30~22.04.1
10 affected builds
Fixed in–
Ubuntu 22.04 LTSlinux-aws-6.2pkg:deb/ubuntu/linux-aws-6.2?arch=source&distro=jammyOther threatsAffected
  • 6.2.0-1005.5~22.04.1 – 6.2.0-1018.18~22.04.1
14 affected builds
Fixed in–

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS For PTR_TO_FLOW_KEYS, check_flow_keys_access() only uses fixed off for validation. However, variable offset ptr alu is not prohibited for this ptr kind. So the variable offset is not checked. The following prog is accepted: func#0 @0 0: R1=ctx() R10=fp0 0: (bf) r6 = r1 ; R1=ctx() R6_w=ctx() 1: (79) r7 = *(u64 *)(r6 +144) ; R6_w=ctx() R7_w=flow_keys() 2: (b7) r8 = 1024 ; R8_w=1024 3: (37) r8 /= 1 ; R8_w=scalar() 4: (57) r8 &= 1024 ; R8_w=scalar(smin=smin32=0, smax=umax=smax32=umax32=1024,var_off=(0x0; 0x400)) 5: (0f) r7 += r8 mark_precise: frame0: last_idx 5 first_idx 0 subseq_idx -1 mark_precise: frame0: regs=r8 stack= before 4: (57) r8 &= 1024 mark_precise: frame0: regs=r8 stack= before 3: (37) r8 /= 1 mark_precise: frame0: regs=r8 stack= before 2: (b7) r8 = 1024 6: R7_w=flow_keys(smin=smin32=0,smax=umax=smax32=umax32=1024,var_off =(0x0; 0x400)) R8_w=scalar(smin=smin32=0,smax=umax=smax32=umax32=1024, var_off=(0x0; 0x400)) 6: (79) r0 = *(u64 *)(r7 +0) ; R0_w=scalar() 7: (95) exit This prog loads flow_keys to r7, and adds the variable offset r8 to r7, and finally causes out-of-bounds access: BUG: unable to handle page fault for address: ffffc90014c80038 [...] Call Trace: <TASK> bpf_dispatcher_nop_func include/linux/bpf.h:1231 [inline] __bpf_prog_run include/linux/filter.h:651 [inline] bpf_prog_run include/linux/filter.h:658 [inline] bpf_prog_run_pin_on_cpu include/linux/filter.h:675 [inline] bpf_flow_dissect+0x15f/0x350 net/core/flow_dissector.c:991 bpf_prog_test_run_flow_dissector+0x39d/0x620 net/bpf/test_run.c:1359 bpf_prog_test_run kernel/bpf/syscall.c:4107 [inline] __sys_bpf+0xf8f/0x4560 kernel/bpf/syscall.c:5475 __do_sys_bpf kernel/bpf/syscall.c:5561 [inline] __se_sys_bpf kernel/bpf/syscall.c:5559 [inline] __x64_sys_bpf+0x73/0xb0 kernel/bpf/syscall.c:5559 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x3f/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Fix this by rejecting ptr alu with variable offset on flow_keys. Applying the patch rejects the program with "R7 pointer arithmetic on flow_keys prohibited".

References

Community reviews

Loading reviews…