Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
vsock: fix lock inversion in vsock_assign_transport()
Syzbot reported a potential lock inversion deadlock between vsock_register_mutex and sk_lock-AF_VSOCK when vsock_linger() is called.
The issue was introduced by commit 687aa0c5581b (“vsock: Fix transport_* TOCTOU”) which added vsock_register_mutex locking in vsock_assign_transport() around the transport->release() call, that can call vsock_linger(). vsock_assign_transport() can be called with sk_lock held. vsock_linger() calls sk_wait_event() that temporarily releases and re-acquires sk_lock. During this window, if another thread hold vsock_register_mutex while trying to acquire sk_lock, a circular dependency is created.
Fix this by releasing vsock_register_mutex before calling transport->release() and vsock_deassign_transport(). This is safe because we don’t need to hold vsock_register_mutex while releasing the old transport, and we ensure the new transport won’t disappear by obtaining a module reference first via try_module_get().
Details
- Affected product:
- Ubuntu 20.04 ELS
- Affected packages:
- linux @ 5.4.0
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| Amazon Linux 2023 | Planned | — |
| Debian 11 | Released |
1 kernel
|
| Debian 11 cloud | Released |
1 kernel
|
| Debian 13 | Planned | — |
| Proxmox VE 7 5.15 | Released |
47 kernels
|
| Ubuntu 20.04 HWE AWS | Released |
57 kernels
|
| Ubuntu 20.04 HWE Azure | Released |
40 kernels
|
| Ubuntu 22.04 | Released |
88 kernels
|
| Ubuntu 22.04 AWS | Released |
79 kernels
|
| Ubuntu 22.04 Azure | Released |
73 kernels
|
| Ubuntu 24.04 | Released |
39 kernels
|
| Ubuntu 24.04 AWS | Planned | — |