CVE-2024-26861

wireguard: receive: annotate data-race around receiving_counter.counter

State
Published
Severity
Not scored
Published
Apr 17, 2024
Updated
Oct 15, 2026
Reserved
Feb 19, 2024

Read the record on cve.org

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 ...

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before f87884e0dffd61b47e58bc6e1e2f6843c212b0ccAffected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before d691be84ab898cf136a35176eaf2f8fc116563f0Affected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before 45a83b220c83e3c326513269afbf69ae6fc65cceAffected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before 78739d72f16b2d7d549f713f1dfebd678d32484bAffected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before 3f94da807fe1668b9830f0eefbbf7e887b0a7bc6Affected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before fdf16de078a97bf14bb8ee2b8d47cc3d3ead09edAffected
  • a9e90d9931f3a474f04bab782ccd9d77904941e9 to before bba045dc4d996d03dce6fe45726e78a1a1f6d4c3Affected
  • 4a7939808afdc57ecaeb72d049e2985321a1e44eAffected
  • 5.6.16 to before 5.7Affected
LinuxLinux
  • 5.7Affected
  • before 5.7Not affected
  • 5.10.214 through 5.10.*Not affected
  • 5.15.153 through 5.15.*Not affected
  • 6.1.83 through 6.1.*Not affected
  • 6.6.23 through 6.6.*Not affected
  • 6.7.11 through 6.7.*Not affected
  • 6.8.2 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.