---
id: CVE-2026-31679
title: 'openvswitch: validate MPLS set/set_masked payload length'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  openvswitch: validate MPLS set/set_masked payload length

  validate_set() accepted OVS_KEY_ATTR_MPLS as variable-sized payload for
  SET/SET_MASKED actions. In action hand…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    68f32ef0683c8d1c05cd2e4f16818fa63ff59c6f
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    4cae986225f8b8679ad86b924918e7d75a96aa61
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    8ed7b9930cbc3bc71f868fa79a68700ac88d586a
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    c1f97152df8dfb17e855ddf0fc409b7bd13e9700
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    98de18d327ef8cbbb704980e359e4872d8c28997
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    bd50c7484c3bb34097571c1334174fb8b7408036
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    2ca33b88a79ca42f017ae0f7011280325655438e
  - >-
    Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 <
    546b68ac893595877ffbd7751e5c55fd1c43ede6
  - Linux 5.5
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-16T15:12:20.188389Z'
published: '2026-04-25'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:23.730Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31679'
references:
  - url: 'https://git.kernel.org/stable/c/68f32ef0683c8d1c05cd2e4f16818fa63ff59c6f'
  - url: 'https://git.kernel.org/stable/c/4cae986225f8b8679ad86b924918e7d75a96aa61'
  - url: 'https://git.kernel.org/stable/c/8ed7b9930cbc3bc71f868fa79a68700ac88d586a'
  - url: 'https://git.kernel.org/stable/c/c1f97152df8dfb17e855ddf0fc409b7bd13e9700'
  - url: 'https://git.kernel.org/stable/c/98de18d327ef8cbbb704980e359e4872d8c28997'
  - url: 'https://git.kernel.org/stable/c/bd50c7484c3bb34097571c1334174fb8b7408036'
  - url: 'https://git.kernel.org/stable/c/2ca33b88a79ca42f017ae0f7011280325655438e'
  - url: 'https://git.kernel.org/stable/c/546b68ac893595877ffbd7751e5c55fd1c43ede6'
tags:
  - cve.org
epss: 0.00167
epssPercentile: 0.05525
ingestedAt: '2026-10-16T17:24:46.671Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

openvswitch: validate MPLS set/set_masked payload length

validate_set() accepted OVS_KEY_ATTR_MPLS as variable-sized payload for
SET/SET_MASKED actions. In action handling, OVS expects fixed-size
MPLS key data (struct ovs_key_mpls).

Use the already normalized key_len (masked case included) and reject
non-matching MPLS action key sizes.

Reject invalid MPLS action payload lengths early.

## Affected

- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 68f32ef0683c8d1c05cd2e4f16818fa63ff59c6f`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 4cae986225f8b8679ad86b924918e7d75a96aa61`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 8ed7b9930cbc3bc71f868fa79a68700ac88d586a`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < c1f97152df8dfb17e855ddf0fc409b7bd13e9700`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 98de18d327ef8cbbb704980e359e4872d8c28997`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < bd50c7484c3bb34097571c1334174fb8b7408036`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 2ca33b88a79ca42f017ae0f7011280325655438e`
- `Linux >= fbdcdd78da7c95f1b970d371e1b23cbd3aa990f3 < 546b68ac893595877ffbd7751e5c55fd1c43ede6`
- `Linux 5.5`

## Remediation

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