CVE-2026-23386

Source
https://cve.org/CVERecord?id=CVE-2026-23386
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23386.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-23386
Downstream
Published
2026-03-25T10:28:04.118Z
Modified
2026-04-02T13:12:23.392215Z
Summary
gve: fix incorrect buffer cleanup in gve_tx_clean_pending_packets for QPL
Details

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

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23386.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a6fb8d5a8b6925f1e635818d3dd2d89531d4a058
Fixed
71511dae56a75ce161aa746741e5c498feaea393
Fixed
c171f90f58974c784db25e0606051541cb71b7f0
Fixed
07e0c80e17ef781799e7cd5c41a7bf44f1bf6a5f
Fixed
3744ebd8ffaa542ae8110fb449adcac0202f4cc8
Fixed
fb868db5f4bccd7a78219313ab2917429f715cea

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23386.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.130
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.78
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.17
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
6.19.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23386.json"