CVE-2025-71087CWE-125CWE-193

CVE-2025-71087

Medium · published January 13, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
2.8
In the wild
Unconfirmed
What it is

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

iavf: fix off-by-one issues in iavf_config_rss_reg()

There are off-by-one bugs when configuring RSS hash key and lookup

table, causing out-of-bounds reads to memory [1] and out-of-bounds

writes to device registers.

Before commit 43a3d9ba34c9 ("i40evf: Allow PF driver to configure RSS"),

the loop upper bounds were:

i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX

which is safe since the value is the last valid index.

That commit changed the bounds to:

i <= adapter->rss_{key,lut}_size / 4

where `rss_{key,lut}_size / 4` is the number of dwords, so the last

valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=`

accesses one element past the end.

Fix the issues by using `<` instead of `<=`, ensuring we do not exceed

the bounds.

[1] KASAN splat about rss_key_size off-by-one

BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800

Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63

CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)

Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014

Workqueue: iavf iavf_watchdog_task

Call Trace:

<TASK>

dump_stack_lvl+0x6f/0xb0

print_report+0x170/0x4f3

kasan_report+0xe1/0x1a0

iavf_config_rss+0x619/0x800

iavf_watchdog_task+0x2be7/0x3230

process_one_work+0x7fd/0x1420

worker_thread+0x4d1/0xd40

kthread+0x344/0x660

ret_from_fork+0x249/0x320

ret_from_fork_asm+0x1a/0x30

</TASK>

Allocated by task 63:

kasan_save_stack+0x30/0x50

kasan_save_track+0x14/0x30

__kasan_kmalloc+0x7f/0x90

__kmalloc_noprof+0x246/0x6f0

iavf_watchdog_task+0x28fc/0x3230

process_one_work+0x7fd/0x1420

worker_thread+0x4d1/0xd40

kthread+0x344/0x660

ret_from_fork+0x249/0x320

ret_from_fork_asm+0x1a/0x30

The buggy address belongs to the object at ffff888102c50100

which belongs to the cache kmalloc-64 of size 64

The buggy address is located 0 bytes to the right of

allocated 52-byte region [ffff888102c50100, ffff888102c50134)

The buggy address belongs to the physical page:

page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50

flags: 0x200000000000000(node=0|zone=2)

page_type: f5(slab)

raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000

raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000

page dumped because: kasan: bad access detected

Memory state around the buggy address:

ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc

ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc

>ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc

^

ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc

ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00137 · 2.8th percentile
Weaknesses
CWE-125 · Out-of-bounds Read; CWE-193 · Off-by-one Error
Published
2026-01-13T21:16Z
Affected products (15)
ProductVersionsFixed in
linux/linux_kernel≥ 4.7.1, < 5.10.2485.10.248
linux/linux_kernel≥ 5.11, < 5.15.1985.15.198
linux/linux_kernel≥ 5.16, < 6.1.1606.1.160
linux/linux_kernel≥ 6.2, < 6.6.1206.6.120
linux/linux_kernel≥ 6.7, < 6.12.646.12.64
linux/linux_kernel≥ 6.13, < 6.18.46.18.4
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 13 JAN 15:34Z
    iavf: fix off-by-one issues in iavf_config_rss_reg()
    cvelistv5