CVE-2024-50227

thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()

High · published November 9, 2024

CVSS v3.1
7.1
EPSS
0%
Percentile
12.1
In the wild
Unconfirmed
What it is

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

thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()

KASAN reported following issue:

BUG: KASAN: stack-out-of-bounds in tb_retimer_scan+0xffe/0x1550 [thunderbolt]

Read of size 4 at addr ffff88810111fc1c by task kworker/u56:0/11

CPU: 0 UID: 0 PID: 11 Comm: kworker/u56:0 Tainted: G U 6.11.0+ #1387

Tainted: [U]=USER

Workqueue: thunderbolt0 tb_handle_hotplug [thunderbolt]

Call Trace:

<TASK>

dump_stack_lvl+0x6c/0x90

print_report+0xd1/0x630

kasan_report+0xdb/0x110

__asan_report_load4_noabort+0x14/0x20

tb_retimer_scan+0xffe/0x1550 [thunderbolt]

tb_scan_port+0xa6f/0x2060 [thunderbolt]

tb_handle_hotplug+0x17b1/0x3080 [thunderbolt]

process_one_work+0x626/0x1100

worker_thread+0x6c8/0xfa0

kthread+0x2c8/0x3a0

ret_from_fork+0x3a/0x80

ret_from_fork_asm+0x1a/0x30

This happens because the loop variable still gets incremented by one so

max becomes 3 instead of 2, and this makes the second loop read past the

the array declared on the stack.

Fix this by assigning to max directly in the loop body.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00222 · 12.1th percentile
Published
2024-11-09T10:14Z
EPSS history
Timeline
  • 09 NOV 10:14Z
    thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()
    cvelistv5