Read the docs
TI-2026-75915 Aliases CVE-2026-98787GHSA-c3cw-2pj9-44qj

Linux kernel BPF batch delete missing migration protection

Priority LOW 22Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from CNA.

Summary

In the Linux kernel, __rhtab_map_lookup_and_delete_batch() calls rhtab_delete_elem() under rcu_read_lock() alone, without disabling migration. On CONFIG_PREEMPT_RCU kernels a task can migrate between CPUs during the delete loop, which makes this_cpu_ptr() in bpf_mem_cache_free_rcu() trigger a BUG: using smp_processor_id() in preemptible code report. Linux kernel versions from 7.2 before 7.2.10 are affected, and the fix ships in 7.2.10 and 7.3. Red Hat rates it Moderate.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch() bpf_mem_cache_free_rcu() uses this_cpu_ptr() which requires migration to be disabled. All callers of rhtab_delete_elem() disable migration except __rhtab_map_lookup_and_delete_batch(), which calls it under rcu_read_lock() only. On CONFIG_PREEMPT_RCU, rcu_read_lock() does not disable preemption or migration, so the task can migrate between CPUs during the delete loop, causing this_cpu_ptr() to trigger: BUG: using smp_processor_id() in preemptible [00000000] code Fix by wrapping the delete loop in migrate_disable()/migrate_enable() in __rhtab_map_lookup_and_delete_batch(), matching the migration protection that the other callers already provide.

Why it matters now

EPSS 0.00155 4th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 7.2.10, 7.3

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux7.2 and later7.2.10, 7.3Patch availableCNA
  • Linux VendorLinux Affected 7.2 and later Fixed in 7.2.10, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

Update to Linux kernel 7.2.10 or 7.3, which wrap the delete loop in migrate_disable() and migrate_enable().

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA Linux (Linux) Fixed in 7.2.10, 7.3

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 7 products
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9
  • Red Hat OpenShift Container Platform 4
  • Red Hat OpenShift Container Platform 5

Timeline

  1. 2026-10-18 Threatist record created from CVE-2026-98787
  2. 2026-10-18 Alias added: GHSA-c3cw-2pj9-44qj
  3. 2026-10-19 Fix available: Linux/[email protected] · CNA
  4. 2026-10-24 Affected versions changed · Red Hat
  5. 2026-10-24 CVSS score added · Red Hat
  6. 2026-11-06 Affected versions changed · Red Hat

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
See all 21741 →

Sources