[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024041736-CVE-2024-26861-3a78@gregkh>
Date: Wed, 17 Apr 2024 12:28:36 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2024-26861: wireguard: receive: annotate data-race around receiving_counter.counter
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
wireguard: receive: annotate data-race around receiving_counter.counter
Syzkaller with KCSAN identified a data-race issue when accessing
keypair->receiving_counter.counter. Use READ_ONCE() and WRITE_ONCE()
annotations to mark the data race as intentional.
BUG: KCSAN: data-race in wg_packet_decrypt_worker / wg_packet_rx_poll
write to 0xffff888107765888 of 8 bytes by interrupt on cpu 0:
counter_validate drivers/net/wireguard/receive.c:321 [inline]
wg_packet_rx_poll+0x3ac/0xf00 drivers/net/wireguard/receive.c:461
__napi_poll+0x60/0x3b0 net/core/dev.c:6536
napi_poll net/core/dev.c:6605 [inline]
net_rx_action+0x32b/0x750 net/core/dev.c:6738
__do_softirq+0xc4/0x279 kernel/softirq.c:553
do_softirq+0x5e/0x90 kernel/softirq.c:454
__local_bh_enable_ip+0x64/0x70 kernel/softirq.c:381
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
_raw_spin_unlock_bh+0x36/0x40 kernel/locking/spinlock.c:210
spin_unlock_bh include/linux/spinlock.h:396 [inline]
ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline]
wg_packet_decrypt_worker+0x6c5/0x700 drivers/net/wireguard/receive.c:499
process_one_work kernel/workqueue.c:2633 [inline]
...
read to 0xffff888107765888 of 8 bytes by task 3196 on cpu 1:
decrypt_packet drivers/net/wireguard/receive.c:252 [inline]
wg_packet_decrypt_worker+0x220/0x700 drivers/net/wireguard/receive.c:501
process_one_work kernel/workqueue.c:2633 [inline]
process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706
worker_thread+0x525/0x730 kernel/workqueue.c:2787
...
The Linux kernel CVE team has assigned CVE-2024-26861 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 5.10.214 with commit f87884e0dffd
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 5.15.153 with commit d691be84ab89
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 6.1.83 with commit 45a83b220c83
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 6.6.23 with commit 78739d72f16b
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 6.7.11 with commit 3f94da807fe1
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 6.8.2 with commit fdf16de078a9
Issue introduced in 5.7 with commit a9e90d9931f3 and fixed in 6.9-rc1 with commit bba045dc4d99
Issue introduced in 5.6.16 with commit 4a7939808afd
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-26861
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/net/wireguard/receive.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/f87884e0dffd61b47e58bc6e1e2f6843c212b0cc
https://git.kernel.org/stable/c/d691be84ab898cf136a35176eaf2f8fc116563f0
https://git.kernel.org/stable/c/45a83b220c83e3c326513269afbf69ae6fc65cce
https://git.kernel.org/stable/c/78739d72f16b2d7d549f713f1dfebd678d32484b
https://git.kernel.org/stable/c/3f94da807fe1668b9830f0eefbbf7e887b0a7bc6
https://git.kernel.org/stable/c/fdf16de078a97bf14bb8ee2b8d47cc3d3ead09ed
https://git.kernel.org/stable/c/bba045dc4d996d03dce6fe45726e78a1a1f6d4c3
Powered by blists - more mailing lists