CVE-2026-23386: gve: fix incorrect buffer cleanup in gve_tx_clean_pending_packets for QPL
In the Linux kernel, the following vulnerability has been resolved:
gve: fix incorrect buffer cleanup in gvetxcleanpendingpackets for QPL
In DQ-QPL mode, gvetxcleanpendingpackets() incorrectly uses the RDA buffer cleanup path. It iterates numbufs times and attempts to unmap entries in the dma array.
This leads to two issues: 1. The dma array shares storage with txqplbufids (union). Interpreting buffer IDs as DMA addresses results in attempting to unmap incorrect memory locations. 2. numbufs in QPL mode (counting 2K chunks) can significantly exceed the size of the dma array, causing out-of-bounds access warnings (trace below is how we noticed this issue).
UBSAN: array-index-out-of-bounds in drivers/net/ethernet/drivers/net/ethernet/google/gve/gvetxdqo.c:178:5 index 18 is out of range for type 'dmaaddrt[18]' (aka 'unsigned long long[18]') Workqueue: gve gveservicetask [gve] Call Trace: <TASK> dumpstacklvl+0x33/0xa0 ubsanhandleoutofbounds+0xdc/0x110 gvetxstopringdqo+0x182/0x200 [gve] gveclose+0x1be/0x450 [gve] gvereset+0x99/0x120 [gve] gveservicetask+0x61/0x100 [gve] processscheduledworks+0x1e9/0x380
Fix this by properly checking for QPL mode and delegating to gvefreetxqplbufs() to reclaim the buffers.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23386?
CVE-2026-23386 has been assigned a medium severity rating due to the potential impact of incorrect buffer cleanup.
How do I fix CVE-2026-23386?
To fix CVE-2026-23386, update your Google gve software to the latest patched version that addresses the buffer cleanup issue.
What systems are affected by CVE-2026-23386?
CVE-2026-23386 affects systems running the Google gve component of the Linux kernel.
What happens if CVE-2026-23386 is exploited?
Exploitation of CVE-2026-23386 could lead to data corruption or system instability due to improper buffer management.
Is CVE-2026-23386 related to network performance?
Yes, CVE-2026-23386 can impact network performance by affecting the handling of pending packets in the Google gve module.