CVE-2022-49450: rxrpc: Fix listen() setting the bar too high for the prealloc rings
In the Linux kernel, the following vulnerability has been resolved:
rxrpc: Fix listen() setting the bar too high for the prealloc rings
AF_RXRPC's listen() handler lets you set the backlog up to 32 (if you bump
up the sysctl), but whilst the preallocation circular buffers have 32 slots
in them, one of them has to be a dead slot because we're using CIRC_CNT().
This means that listen(rxrpc_sock, 32) will cause an oops when the socket
is closed because rxrpc_service_prealloc_one() allocated one too many calls
and rxrpc_discard_prealloc() won't then be able to get rid of them because
it'll think the ring is empty. rxrpc_release_calls_on_socket() then tries
to abort them, but oopses because call->peer isn't yet set.
Fix this by setting the maximum backlog to RXRPC_BACKLOG_MAX - 1 to match
the ring capacity.
BUG: kernel NULL pointer dereference, address: 0000000000000086
...
RIP: 0010:rxrpc_send_abort_packet+0x73/0x240 [rxrpc]
Call Trace:
<TASK>
? __wake_up_common_lock+0x7a/0x90
? rxrpc_notify_socket+0x8e/0x140 [rxrpc]
? rxrpc_abort_call+0x4c/0x60 [rxrpc]
rxrpc_release_calls_on_socket+0x107/0x1a0 [rxrpc]
rxrpc_release+0xc9/0x1c0 [rxrpc]
__sock_release+0x37/0xa0
sock_close+0x11/0x20
__fput+0x89/0x240
task_work_run+0x59/0x90
do_exit+0x319/0xaa0
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel denial-of-service flaw in the AF_RXRPC networking code. A local user with access to the affected socket behavior could trigger a kernel crash when a socket is closed, affecting system availability rather than data theft or integrity.
Executive priority
Treat as a routine but real availability risk. Patch through normal kernel maintenance, accelerating for shared infrastructure where local users or untrusted workloads could crash hosts.
Technical view
AF_RXRPC listen() allowed a backlog value that exceeded the usable capacity of its preallocation ring. That mismatch could leave an uninitialized call object during socket release, leading to a NULL pointer dereference in rxrpc_send_abort_packet. The CVE maps to CWE-476 and CVSS 5.5, local, low complexity, low privileges, availability high.
Likely exposure
Exposure is most relevant on Linux systems running affected kernels where local users, services, containers, or workloads can exercise AF_RXRPC socket functionality. The bundle does not identify specific Linux distributions, appliances, or cloud images.
Exploitation context
The source bundle does not show CISA KEV listing or other evidence of active exploitation. The described impact is a local kernel crash condition, not remote compromise, privilege escalation, or data exposure.
Researcher notes
Evidence supports a local availability bug in Linux AF_RXRPC caused by backlog/ring-capacity mismatch. The bundle provides upstream stable commit references but no distro package matrix, exploit-in-the-wild reporting, or workaround details beyond applying vendor-backed kernel fixes.
Mitigation direction
Apply Linux stable kernel updates containing the referenced rxrpc backlog fix.
Check distribution vendor advisories for exact fixed package versions.
Prioritize shared hosts, multi-user systems, and container platforms first.
Restrict untrusted local workload execution where timely patching is not possible.
Validation and detection
Inventory Linux kernel versions across servers, images, and container hosts.
Confirm whether affected systems include AF_RXRPC/rxrpc functionality.
Verify patched kernels include one of the referenced stable commits.
Review crash telemetry for rxrpc-related NULL pointer dereference traces.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.