CVE-2022-49149
Severity CVSS v4.0:
Pending analysis
Type:
CWE-362
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Publication date:
26/02/2025
Last modified:
23/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
rxrpc: Fix call timer start racing with call destruction<br />
<br />
The rxrpc_call struct has a timer used to handle various timed events<br />
relating to a call. This timer can get started from the packet input<br />
routines that are run in softirq mode with just the RCU read lock held.<br />
Unfortunately, because only the RCU read lock is held - and neither ref or<br />
other lock is taken - the call can start getting destroyed at the same time<br />
a packet comes in addressed to that call. This causes the timer - which<br />
was already stopped - to get restarted. Later, the timer dispatch code may<br />
then oops if the timer got deallocated first.<br />
<br />
Fix this by trying to take a ref on the rxrpc_call struct and, if<br />
successful, passing that ref along to the timer. If the timer was already<br />
running, the ref is discarded.<br />
<br />
The timer completion routine can then pass the ref along to the call&#39;s work<br />
item when it queues it. If the timer or work item where already<br />
queued/running, the extra ref is discarded.
Impact
Base Score 3.x
4.70
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15.1 (including) | 5.10.110 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.33 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.16.19 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.17 (including) | 5.17.2 (excluding) |
| cpe:2.3:o:linux:linux_kernel:4.15:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc7:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc8:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:4.15:rc9:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/051360e51341cd17738d82c15a8226010c7cb7f6
- https://git.kernel.org/stable/c/4a7f62f91933c8ae5308f9127fd8ea48188b6bc3
- https://git.kernel.org/stable/c/54df5a37f1d951ed27fd47bf9b15a42279582110
- https://git.kernel.org/stable/c/5e3c11144e557a9dbf9a2f6abe444689ef9d8aae
- https://git.kernel.org/stable/c/8cbf4ae7a2833767d63114573e5f9a45740cc975



