Description · from the CVE record
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.
Affected
ProductAffectedFixed inSource
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < d6207326b4ca0ae1041281b6af9df53f8080669ad6207326b4ca0ae1041281b6af9df53f8080669aCNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < 11b429b84c87cb5a0152f14e7d6cb649ed36390111b429b84c87cb5a0152f14e7d6cb649ed363901CNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < c20d983968f239574290cf804a58cde18ad1c559c20d983968f239574290cf804a58cde18ad1c559CNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < 0337cdba0c477f176c0459bed0121094531845730337cdba0c477f176c0459bed012109453184573CNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < dfa0b2bbc5e50119f89c6b5407faa5ed86dfa7c5dfa0b2bbc5e50119f89c6b5407faa5ed86dfa7c5CNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < 35a967ff8b24db09ee429c39c5b5e6571639997d35a967ff8b24db09ee429c39c5b5e6571639997dCNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < 1741378a7a83dfd8e53a9196730df709b903cd331741378a7a83dfd8e53a9196730df709b903cd33CNA
Linux00e907127e6f86d0f9b122d9b4347a8aa09a8b61 – < dc175389b18c29a5303ee83169ec653adfae3e17dc175389b18c29a5303ee83169ec653adfae3e17CNA
Linux4.9–CNA