CVE-2025-40231
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
vsock: fix lock inversion in vsock_assign_transport()
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().
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 8667e8d0eb46bc54fdae30ba2f4786407d3d88eb | affected | git | ce4f856c64f0bc30e29302a0ce41f4295ca391c5 | Unavailable | None listed |
| 36a439049b34cca0b3661276049b84a1f76cc21a | affected | git | 09bba278ccde25a14b6e5088a9e65a8717d0cccf | Unavailable | None listed |
| 9ce53e744f18e73059d3124070e960f3aa9902bf | affected | git | b44182c116778feaa05da52a426aeb9da1878dcf | Unavailable | None listed |
| 9d24bb6780282b0255b9929abe5e8f98007e2c6e | affected | git | 42ed0784d11adebf748711e503af0eb9f1e6d81d | Unavailable | None listed |
| ae2c712ba39c7007de63cb0c75b51ce1caaf1da5 | affected | git | 251caee792a21eb0b781aab91362b422c945e162 | Unavailable | None listed |
| 687aa0c5581b8d4aa87fd92973e4ee576b550cdf | affected | git | a2a4346eea8b4cb75037dbcb20b98cb454324f80 | Unavailable | None listed |
| 687aa0c5581b8d4aa87fd92973e4ee576b550cdf | affected | git | f7c877e7535260cc7a21484c994e8ce7e8cb6780 | Unavailable | None listed |
| 7b73bddf54777fb62d4d8c7729d0affe6df04477 | affected | git | Unavailable | Unavailable | None listed |
| 5.10.240 | affected | semver | 5.10.246 | Unavailable | None listed |
| 5.15.189 | affected | semver | 5.15.196 | Unavailable | None listed |
| 6.1.146 | affected | semver | 6.1.158 | Unavailable | None listed |
| 6.6.99 | affected | semver | 6.6.115 | Unavailable | None listed |
| 6.12.39 | affected | semver | 6.12.56 | Unavailable | None listed |
| 6.15.7 | affected | semver | 6.16 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.16 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.16 | Unavailable | None listed |
| 5.10.246 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.196 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.158 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.115 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.56 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.17.6 | unaffected | semver | Unavailable | 6.17.* | None listed |
| 6.18 | unaffected | original_commit_for_fix | Unavailable | * | None listed |