CVE Catalog

CVE-2022-49149

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

38th percentile - higher than 38% of all known CVEs

Summary

In the Linux kernel's rxrpc module, a race between call timer start and call destruction can lead to a timer being restarted after it was stopped, causing an oops. The fix takes a reference on the rxrpc_call struct before starting the timer.

Risk Assessment

An attacker could trigger a system crash (oops) by sending packets to a call being destroyed, potentially causing denial of service.

Recommendation

Install the Linux kernel update with the fix for CVE-2022-49149. Monitor systems using RxRPC.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix call timer start racing with call destruction The rxrpc_call struct has a timer used to handle various timed events relating to a call. This timer can get started from the packet input routines that are run in softirq mode with just the RCU read lock held. Unfortunately, because only the RCU read lock is held - and neither ref or other lock is taken - the call can start getting destroyed at the same time a packet comes in addressed to that call. This causes the timer - which was already stopped - to get restarted. Later, the timer dispatch code may then oops if the timer got deallocated first. Fix this by trying to take a ref on the rxrpc_call struct and, if successful, passing that ref along to the timer. If the timer was already running, the ref is discarded. The timer completion routine can then pass the ref along to the call's work item when it queues it. If the timer or work item where already queued/running, the extra ref is discarded.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS