Skip to main content
Vulnerability Database/CVE-2026-31738

CVE-2026-31738: Linux Kernel VXLAN Option Validation Flaw

CVE-2026-31738 is an option validation flaw in the Linux Kernel VXLAN module that allows malformed ND options to cause parser errors. This article covers the technical details, affected versions, security impact, and mitigation.

Published:

CVE-2026-31738 Overview

CVE-2026-31738 is a Linux kernel vulnerability in the VXLAN (Virtual Extensible LAN) driver. The flaw resides in the vxlan_na_create() function, which processes Neighbor Discovery (ND) options based on lengths supplied within the option itself. A malformed option can cause the parser to advance beyond the computed option span or read a source link-layer address (LLADDR) option payload that is too short to contain a valid Ethernet address.

The vulnerability affects Linux kernel builds that include VXLAN support and can be triggered by a local attacker with low privileges. Exploitation impacts system availability through kernel-side memory access errors.

Critical Impact

A local attacker with low privileges can trigger out-of-bounds reads in the Linux kernel VXLAN driver, leading to denial of service through kernel instability.

Affected Products

  • Linux Kernel (multiple stable branches as referenced by upstream commits)
  • Linux Kernel 3.14 release and 3.14-rc8
  • Linux Kernel 7.0 release candidates rc1 through rc6

Discovery Timeline

  • 2026-05-01 - CVE-2026-31738 published to NVD
  • 2026-05-07 - Last updated in NVD database

Technical Details for CVE-2026-31738

Vulnerability Analysis

The defect lies in vxlan_na_create(), a function that constructs Neighbor Advertisement (NA) responses based on incoming Neighbor Solicitation (NS) packets in IPv6 environments tunneled over VXLAN. The function iterates through ND options using the length field embedded in each option header. This length is attacker-influenced and was not previously validated against the remaining option area boundary.

When a malformed ND option declares a length larger than the actual remaining buffer, the parser advances past the legitimate option span and reads adjacent kernel memory. Additionally, when the source LLADDR option is present but truncated, the function reads an Ethernet address from a payload smaller than six bytes. Both behaviors result in out-of-bounds reads within kernel space.

Root Cause

The root cause is missing input validation on protocol-supplied length fields, classified under [CWE-noinfo] by NVD. The original loop trusted the option-provided length and copied or dereferenced data without confirming sufficient remaining bytes in the NS option area. The patch adds explicit bounds checks before each advance and gates LLADDR reads on a minimum option size matching ETH_ALEN.

Attack Vector

Exploitation requires local access with low privileges to send crafted IPv6 Neighbor Solicitation traffic through a VXLAN interface. An attacker with the ability to inject packets onto a VXLAN-attached network namespace can construct a malformed NS message containing ND options with falsified length fields. When the kernel processes this packet through vxlan_na_create(), the resulting out-of-bounds read can panic the kernel or destabilize the host, producing high availability impact with no confidentiality or integrity loss per the published CVSS vector.

No public proof-of-concept exploit code is currently available, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.

Detection Methods for CVE-2026-31738

Indicators of Compromise

  • Unexpected kernel oops or panic entries in dmesg or /var/log/kern.log referencing vxlan_na_create or the vxlan module.
  • Sudden network namespace or VXLAN interface failures coinciding with malformed IPv6 NS traffic on tunneled segments.
  • KASAN (Kernel Address Sanitizer) reports of out-of-bounds reads in the VXLAN code path on instrumented kernels.

Detection Strategies

  • Monitor kernel logs for crash signatures involving the VXLAN driver and IPv6 neighbor discovery functions.
  • Inspect IPv6 NS packets traversing VXLAN tunnels for option length fields exceeding the remaining packet payload.
  • Correlate host availability events with local user activity capable of crafting raw packets, such as processes with CAP_NET_RAW.

Monitoring Recommendations

  • Enable kernel crash dump collection (kdump) on hosts running VXLAN overlays to capture forensic data on kernel faults.
  • Track running kernel versions across the fleet against the patched commits published on git.kernel.org.
  • Audit which hosts run VXLAN interfaces and prioritize those for patch deployment and traffic monitoring.

How to Mitigate CVE-2026-31738

Immediate Actions Required

  • Apply the upstream Linux kernel patches referenced in the vendor advisory commits as soon as your distribution publishes updated packages.
  • Restrict the CAP_NET_RAW and CAP_NET_ADMIN capabilities to trusted users only, reducing the population able to inject crafted NS packets.
  • Inventory hosts running VXLAN tunnels, including container and Kubernetes nodes that depend on overlay networking.

Patch Information

The Linux kernel maintainers resolved this issue across multiple stable branches. The fix validates ND option lengths against the remaining NS option area before each advance and only reads the source LLADDR when the option is large enough to hold an Ethernet address. Reference commits include 901c1dd3bab2, e476745917a1, and eddfce70a6f3, among others published on git.kernel.org.

Workarounds

  • Disable VXLAN interfaces on hosts that do not require overlay networking until the kernel is patched.
  • Apply network policies that drop unexpected IPv6 Neighbor Solicitation traffic on VXLAN-attached segments.
  • Restrict local user access on multi-tenant systems and remove unnecessary network capabilities from unprivileged accounts.
bash
# Identify running kernel and VXLAN interfaces for patch planning
uname -r
ip -d link show type vxlan

# Temporarily remove a VXLAN interface if patching is delayed
sudo ip link set dev vxlan0 down
sudo ip link delete vxlan0

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.