CVE-2025-38048: virtio_ring: Fix data race by tagging event_triggered as racy for KCSAN
In the Linux kernel, the following vulnerability has been resolved:
virtioring: Fix data race by tagging eventtriggered as racy for KCSAN
syzbot reports a data-race when accessing the eventtriggered, here is the simplified stack when the issue occurred:
================================================================== BUG: KCSAN: data-race in virtqueuedisablecb / virtqueueenablecbdelayed
write to 0xffff8881025bc452 of 1 bytes by task 3288 on cpu 0: virtqueueenablecbdelayed+0x42/0x3c0 drivers/virtio/virtioring.c:2653 startxmit+0x230/0x1310 drivers/net/virtionet.c:3264 netdevstartxmit include/linux/netdevice.h:5151 [inline] netdevstartxmit include/linux/netdevice.h:5160 [inline] xmitone net/core/dev.c:3800 [inline]
read to 0xffff8881025bc452 of 1 bytes by interrupt on cpu 1: virtqueuedisablecbsplit drivers/virtio/virtioring.c:880 [inline] virtqueuedisablecb+0x92/0x180 drivers/virtio/virtioring.c:2566 skbxmitdone+0x5f/0x140 drivers/net/virtionet.c:777 vringinterrupt+0x161/0x190 drivers/virtio/virtioring.c:2715 handleirqeventpercpu+0x95/0x490 kernel/irq/handle.c:158 handleirqeventpercpu kernel/irq/handle.c:193 [inline]
value changed: 0x01 -> 0x00 ==================================================================
When the data race occurs, the function virtqueueenablecbdelayed() sets eventtriggered to false, and virtqueuedisablecbsplit/packed() reads it as false due to the race condition. Since eventtriggered is an unreliable hint used for optimization, this should only cause the driver temporarily suggest that the device not send an interrupt notification when the event index is used.
Fix this KCSAN reported data-race issue by explicitly tagging the access as dataracy.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1 - Configuration
Explicitly tag the event_triggered access as data_racy to address the KCSAN-reported data race.
Linux kernel virtio_ring event_triggered access annotation = data_racy
Event History
Frequently Asked Questions
What is the severity of CVE-2025-38048?
The severity of CVE-2025-38048 is typically considered to be moderate due to its nature as a data race issue in the Linux kernel.
How do I fix CVE-2025-38048?
To fix CVE-2025-38048, you should update the Linux kernel to a version where the vulnerability has been patched.
What are the affected versions for CVE-2025-38048?
CVE-2025-38048 affects multiple versions of the Linux kernel, specifically versions between 5.15 and 6.15-rc3.
What component is impacted by CVE-2025-38048?
CVE-2025-38048 impacts the virtio_ring component of the Linux kernel.
Is CVE-2025-38048 exploitable?
CVE-2025-38048 presents a data race condition which could potentially be exploited under specific circumstances.