---
id: CVE-2026-68299
title: 'vmxnet3: fix BUG_ON in vmxnet3_get_hdr_len() for Geneve packets'
summary: |-
  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-e…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    2ddf51fcb6dd7d55ceef38e2e1a5ab2ab7fd47b0
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    fbab6b73cc086e32698c86e43d1b16bf17d24c36
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    28e382646417c7e2be9c9a7079eddf627ff52b90
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    667b6e52048eaf4dbcf1707ed87ffd44abb9cb38
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    4fdb0f162ccdbe9626863b10003855703253fa29
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    b28596baf87e25a078789f1c05817c8a3bf71257
  - >-
    Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc <
    34a71f5361fc3adb5b7138da78750b0d535a8252
  - Linux 4.2
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-16T15:46:52.382602Z'
published: '2026-08-10'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:53:07.239Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-68299'
references:
  - url: 'https://git.kernel.org/stable/c/2ddf51fcb6dd7d55ceef38e2e1a5ab2ab7fd47b0'
  - url: 'https://git.kernel.org/stable/c/fbab6b73cc086e32698c86e43d1b16bf17d24c36'
  - url: 'https://git.kernel.org/stable/c/28e382646417c7e2be9c9a7079eddf627ff52b90'
  - url: 'https://git.kernel.org/stable/c/667b6e52048eaf4dbcf1707ed87ffd44abb9cb38'
  - url: 'https://git.kernel.org/stable/c/28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8'
  - url: 'https://git.kernel.org/stable/c/4fdb0f162ccdbe9626863b10003855703253fa29'
  - url: 'https://git.kernel.org/stable/c/b28596baf87e25a078789f1c05817c8a3bf71257'
  - url: 'https://git.kernel.org/stable/c/34a71f5361fc3adb5b7138da78750b0d535a8252'
tags:
  - cve.org
epss: 0.00501
epssPercentile: 0.41548
ingestedAt: '2026-10-16T17:24:46.856Z'
---

## Overview

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.

## Affected

- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 2ddf51fcb6dd7d55ceef38e2e1a5ab2ab7fd47b0`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < fbab6b73cc086e32698c86e43d1b16bf17d24c36`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 28e382646417c7e2be9c9a7079eddf627ff52b90`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 667b6e52048eaf4dbcf1707ed87ffd44abb9cb38`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 28cb5d8d13b4c1faf3f688f62e5df82fe7b438d8`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 4fdb0f162ccdbe9626863b10003855703253fa29`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < b28596baf87e25a078789f1c05817c8a3bf71257`
- `Linux >= 45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc < 34a71f5361fc3adb5b7138da78750b0d535a8252`
- `Linux 4.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
