CVE-2022-49814

kcm: close race conditions on sk_receive_queue

MEDIUM
4.7
CVSS Score
Published: May 1, 2025 at 02:09 PM UTC
Updated: August 5, 2026 at 09:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.7
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 min without seeing any issue.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.15 ≤ v < 4.19.2674.20 ≤ v < 5.4.2254.6 ≤ v < 4.14.3004.6 ≤ v < 4.19.2674.6 ≤ v < 5.10.1564.6 ≤ v < 5.15.804.6 ≤ v < 5.4.2254.6 ≤ v < 6.0.104.6 ≤ v < 6.15.11 ≤ v < 5.15.805.16 ≤ v < 6.0.105.5 ≤ v < 5.10.1566.1 rc16.1 rc26.1 rc36.1 rc46.1 rc5ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Vendor states this is fixed in 22f6b5d47396b4287662668ee3f5c1f766cb4259 (fixed)
Vendor states this is fixed in 4154b6afa2bd639214ff259d912faad984f7413a (fixed)
Vendor states this is fixed in 5121197ecc5db58c07da95eb1ff82b98b121a221 (fixed)
Vendor states this is fixed in bf92e54597d842da127c59833b365d6faeeaf020 (fixed)
Vendor states this is fixed in ce57d6474ae999a3b2d442314087473a646a65c7 (fixed)
Vendor states this is fixed in d9ad4de92e184b19bcae4da10dac0275abf83931 (fixed)
Vendor states this is fixed in f7b0e95071bb4be4b811af3f0bfc3e200eedeaa3 (fixed)
Vendor states this is fixed in 4.14.300 (unaffected)
Vendor states this is fixed in 4.19.267 (unaffected)
Vendor states this is fixed in 4.6 (unaffected)
Vendor states this is fixed in 5.10.156 (unaffected)
Vendor states this is fixed in 5.15.80 (unaffected)
Vendor states this is fixed in 5.4.225 (unaffected)
Vendor states this is fixed in 6.0.10 (unaffected)
Vendor states this is fixed in 6.1 (unaffected)

References (7)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/22f6b5d47396b4287662668ee3f5c1f766cb4259
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4154b6afa2bd639214ff259d912faad984f7413a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5121197ecc5db58c07da95eb1ff82b98b121a221
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bf92e54597d842da127c59833b365d6faeeaf020
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ce57d6474ae999a3b2d442314087473a646a65c7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d9ad4de92e184b19bcae4da10dac0275abf83931
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f7b0e95071bb4be4b811af3f0bfc3e200eedeaa3

CVSS

Attack Vector
LOCAL
Complexity
HIGH
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-362

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card