CVE-2024-35855CWE-416

CVE-2024-35855

High · published May 17, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.3
In the wild
Unconfirmed
What it is

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

mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update

The rule activity update delayed work periodically traverses the list of

configured rules and queries their activity from the device.

As part of this task it accesses the entry pointed by 'ventry->entry',

but this entry can be changed concurrently by the rehash delayed work,

leading to a use-after-free [1].

Fix by closing the race and perform the activity query under the

'vregion->lock' mutex.

[1]

BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140

Read of size 8 at addr ffff8881054ed808 by task kworker/0:18/181

CPU: 0 PID: 181 Comm: kworker/0:18 Not tainted 6.9.0-rc2-custom-00781-gd5ab772d32f7 #2

Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019

Workqueue: mlxsw_core mlxsw_sp_acl_rule_activity_update_work

Call Trace:

<TASK>

dump_stack_lvl+0xc6/0x120

print_report+0xce/0x670

kasan_report+0xd7/0x110

mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140

mlxsw_sp_acl_rule_activity_update_work+0x219/0x400

process_one_work+0x8eb/0x19b0

worker_thread+0x6c9/0xf70

kthread+0x2c9/0x3b0

ret_from_fork+0x4d/0x80

ret_from_fork_asm+0x1a/0x30

</TASK>

Allocated by task 1039:

kasan_save_stack+0x33/0x60

kasan_save_track+0x14/0x30

__kasan_kmalloc+0x8f/0xa0

__kmalloc+0x19c/0x360

mlxsw_sp_acl_tcam_entry_create+0x7b/0x1f0

mlxsw_sp_acl_tcam_vchunk_migrate_all+0x30d/0xb50

mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300

process_one_work+0x8eb/0x19b0

worker_thread+0x6c9/0xf70

kthread+0x2c9/0x3b0

ret_from_fork+0x4d/0x80

ret_from_fork_asm+0x1a/0x30

Freed by task 1039:

kasan_save_stack+0x33/0x60

kasan_save_track+0x14/0x30

kasan_save_free_info+0x3b/0x60

poison_slab_object+0x102/0x170

__kasan_slab_free+0x14/0x30

kfree+0xc1/0x290

mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3d7/0xb50

mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300

process_one_work+0x8eb/0x19b0

worker_thread+0x6c9/0xf70

kthread+0x2c9/0x3b0

ret_from_fork+0x4d/0x80

ret_from_fork_asm+0x1a/0x30

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00232 · 13.3th percentile
Weakness
CWE-416 · Use After Free
Published
2024-05-17T19:15Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 5.1, < 5.4.2755.4.275
linux/linux_kernel≥ 5.5, < 5.10.2165.10.216
linux/linux_kernel≥ 5.11, < 5.15.1585.15.158
linux/linux_kernel≥ 5.16, < 6.1.906.1.90
linux/linux_kernel≥ 6.2, < 6.6.306.6.30
linux/linux_kernel≥ 6.7, < 6.8.96.8.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (15)
https://git.kernel.org/stable/c/1b73f6e4ea770410a937a8db98f77e52594d23a0 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/79b5b4b18bc85b19d3a518483f9abbbe6d7b3ba4 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b183b915beef818a25e3154d719ca015a1ae0770 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b996e8699da810e4c915841d6aaef761007f933a · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/c17976b42d546ee118ca300db559630ee96fb758 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e24d2487424779c02760ff50cd9021b8676e19ef · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/feabdac2057e863d0e140a2adf3d232eb4882db4 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1b73f6e4ea770410a937a8db98f77e52594d23a0 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/79b5b4b18bc85b19d3a518483f9abbbe6d7b3ba4 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b183b915beef818a25e3154d719ca015a1ae0770 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b996e8699da810e4c915841d6aaef761007f933a · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/c17976b42d546ee118ca300db559630ee96fb758 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e24d2487424779c02760ff50cd9021b8676e19ef · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/feabdac2057e863d0e140a2adf3d232eb4882db4 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html · af854a3a-2127-422b-91ae-364da2661108
EPSS history
Timeline
  • 17 MAY 14:47Z
    mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
    cvelistv5