CVE-2022-48786

CVE-2022-48786

High · published July 16, 2024

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

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

vsock: remove vsock from connected table when connect is interrupted by a signal

vsock_connect() expects that the socket could already be in the

TCP_ESTABLISHED state when the connecting task wakes up with a signal

pending. If this happens the socket will be in the connected table, and

it is not removed when the socket state is reset. In this situation it's

common for the process to retry connect(), and if the connection is

successful the socket will be added to the connected table a second

time, corrupting the list.

Prevent this by calling vsock_remove_connected() if a signal is received

while waiting for a connection. This is harmless if the socket is not in

the connected table, and if it is in the table then removing it will

prevent list corruption from a double add.

Note for backporting: this patch requires d5afa82c977e ("vsock: correct

removal of socket from the list"), which is in all current stable trees

except 4.9.y.

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.00251 · 15.7th percentile
Published
2024-07-16T16:15Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 3.9, < 4.9.3034.9.303
linux/linux_kernel≥ 4.10, < 4.14.2684.14.268
linux/linux_kernel≥ 4.15, < 4.19.2314.19.231
linux/linux_kernel≥ 4.20, < 5.4.1815.4.181
linux/linux_kernel≥ 5.5, < 5.10.1025.10.102
linux/linux_kernel≥ 5.11, < 5.15.255.15.25
linux/linux_kernel≥ 5.16, < 5.16.115.16.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (16)
https://git.kernel.org/stable/c/0bb88f3f7e8d506f3efe46d694964117e20efbfc · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/2910bcb9f67551a45397735e47b6d456eb8cd549 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/5f326fe2aef411a6575628f92bd861463ea91df7 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/787468ee7a435777521d33399d012fd591ae2f94 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/87cd1bbd6677411e17369cd4b7389ab1e1fdba44 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/addd62a8cb6fa90aa322365c62487da61f6baab8 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b9208492fcaecff8f43915529ae34b3bcb03877c · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e3b3939fd137aab6d00d54bee0ee9244b286a608 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/0bb88f3f7e8d506f3efe46d694964117e20efbfc · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/2910bcb9f67551a45397735e47b6d456eb8cd549 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/5f326fe2aef411a6575628f92bd861463ea91df7 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/787468ee7a435777521d33399d012fd591ae2f94 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/87cd1bbd6677411e17369cd4b7389ab1e1fdba44 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/addd62a8cb6fa90aa322365c62487da61f6baab8 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b9208492fcaecff8f43915529ae34b3bcb03877c · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e3b3939fd137aab6d00d54bee0ee9244b286a608 · af854a3a-2127-422b-91ae-364da2661108
EPSS history
Timeline
  • 16 JUL 11:43Z
    vsock: remove vsock from connected table when connect is interrupted by a signal
    cvelistv5