CVE-2026-68299: vmxnet3: fix BUG_ON in vmxnet3_get_hdr_len() for Geneve packets
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081029-CVE-2026-68299-d85c@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: vmxnet3: fix BUG_ON in vmxnet3_get_hdr_len() for Geneve packets vmxnet3_get_hdr_len() assumes gdesc->rcd.v4/v6/tcp always describe the outer header, but for a Geneve-encapsulated packet the device can set them based on the inner header instead, signalled by the VMXNET3_RCD_HDR_INNER_SHIFT bit in the completion descriptor. Since the function never skips the outer encapsulation, this mismatch triggers: - BUG_ON(hdr.ipv4->protocol != IPPROTO_TCP), because the outer protocol is UDP (Geneve), not TCP. - BUG_ON(hdr.eth->h_proto != ...), when the tunnel's outer and inner IP versions differ (e.g. outer IPv6/inner IPv4 or vice versa). Check VMXNET3_RCD_HDR_INNER_SHIFT up front and bail out, since the function cannot locate the inner header it would need to parse. Also convert the remaining BUG_ON()s in this function to return 0 defensively. The Linux kernel CVE team has assigned CVE-2026-68299 to this issue. Affected and fixed versions =========================== Issue introduced in 4.2 with commit 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc and fixed in 6.6.148 with commit 667b6e52048eaf4dbcf1707ed87ffd44abb9cb38 Issue introduced in 4.2 with commit 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc and fixed in 6.12.101 with commit 28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8 Issue introduced in 4.2 with commit 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc and fixed in 6.18.42 with commit 4fdb0f162ccdbe9626863b10003855703253fa29 Issue introduced in 4.2 with commit 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc and fixed in 7.1.6 with commit b28596baf87e25a078789f1c05817c8a3bf71257 Issue introduced in 4.2 with commit 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc and fixed in 7.2-rc5 with commit 34a71f5361fc3adb5b7138da78750b0d535a8252 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-2026-68299 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/vmxnet3/vmxnet3_drv.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/667b6e52048eaf4dbcf1707ed87ffd44abb9cb38 https://git.kernel.org/stable/c/28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8 https://git.kernel.org/stable/c/4fdb0f162ccdbe9626863b10003855703253fa29 https://git.kernel.org/stable/c/b28596baf87e25a078789f1c05817c8a3bf71257 https://git.kernel.org/stable/c/34a71f5361fc3adb5b7138da78750b0d535a8252