CVE-2026-74436Critical memory vulnerability in Linux kernel (rxrpc)
In the Linux kernel, the following vulnerability has been resolved: rxrpc: serialize kernel accept preallocation with socket teardown rxrpc_kernel_charge_accept() reads rx->backlog without any socket/backlog synchronization and passes that raw pointer into rxrpc_service_prealloc_one(). A concurrent rxrpc_discard_prealloc() sets rx->backlog = NULL and frees the backlog rings, so a kernel preallocation worker can keep using a freed struct rxrpc_backlog while updating *_backlog_head/tail and array slots. Serialize the state check and backlog lookup with the socket lock, and reject kernel preallocation once teardown has disabled listening or discarded the service backlog.
View on NVDAnalysis
A critical use-after-free vulnerability has been identified in the Linux kernel's rxrpc protocol implementation. This flaw could allow for memory corruption or system compromise on Linux servers using this networking subsystem.
Relevant roles
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HEPSS
Technical description
In the Linux kernel, the following vulnerability has been resolved: rxrpc: serialize kernel accept preallocation with socket teardown rxrpc_kernel_charge_accept() reads rx->backlog without any socket/backlog synchronization and passes that raw pointer into rxrpc_service_prealloc_one(). A concurrent rxrpc_discard_prealloc() sets rx->backlog = NULL and frees the backlog rings, so a kernel preallocation worker can keep using a freed struct rxrpc_backlog while updating *_backlog_head/tail and array slots. Serialize the state check and backlog lookup with the socket lock, and reject kernel preallocation once teardown has disabled listening or discarded the service backlog.
References
- https://git.kernel.org/stable/c/0337cdba0c477f176c0459bed012109453184573
- https://git.kernel.org/stable/c/11b429b84c87cb5a0152f14e7d6cb649ed363901
- https://git.kernel.org/stable/c/1741378a7a83dfd8e53a9196730df709b903cd33
- https://git.kernel.org/stable/c/35a967ff8b24db09ee429c39c5b5e6571639997d
- https://git.kernel.org/stable/c/c20d983968f239574290cf804a58cde18ad1c559
- https://git.kernel.org/stable/c/d6207326b4ca0ae1041281b6af9df53f8080669a
- https://git.kernel.org/stable/c/dc175389b18c29a5303ee83169ec653adfae3e17
- https://git.kernel.org/stable/c/dfa0b2bbc5e50119f89c6b5407faa5ed86dfa7c5