---
id: CVE-2026-31668
title: 'seg6: separate dst_cache for input and output paths in seg6 lwtunnel'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  seg6: separate dst_cache for input and output paths in seg6 lwtunnel

  The seg6 lwtunnel uses a single dst_cache per encap route, shared
  between seg6_input_core() and se…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    1dec91d3b1cefb82635761b7812154af3ef46449
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    750569d6987a0ff46317a4b86eb3907e296287bf
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    57d0374d14fa667dec6952173b93e7e84486d5c9
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    84d458018b147176b259347103fccb7e93abd2b1
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    6305ad032b03d2ea4181b953a66e19a9a6ed053c
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    fb56de5d99218de49d5d43ef3a99e062ecd0f9a1
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    17d87d42874f5d6c1a0ccc6d9190dfe82a9a7a6a
  - >-
    Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 <
    c3812651b522fe8437ebb7063b75ddb95b571643
  - Linux 4.10
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-10-16T15:11:58.632847Z'
published: '2026-04-24'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:22.667Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31668'
references:
  - url: 'https://git.kernel.org/stable/c/1dec91d3b1cefb82635761b7812154af3ef46449'
  - url: 'https://git.kernel.org/stable/c/750569d6987a0ff46317a4b86eb3907e296287bf'
  - url: 'https://git.kernel.org/stable/c/57d0374d14fa667dec6952173b93e7e84486d5c9'
  - url: 'https://git.kernel.org/stable/c/84d458018b147176b259347103fccb7e93abd2b1'
  - url: 'https://git.kernel.org/stable/c/6305ad032b03d2ea4181b953a66e19a9a6ed053c'
  - url: 'https://git.kernel.org/stable/c/fb56de5d99218de49d5d43ef3a99e062ecd0f9a1'
  - url: 'https://git.kernel.org/stable/c/17d87d42874f5d6c1a0ccc6d9190dfe82a9a7a6a'
  - url: 'https://git.kernel.org/stable/c/c3812651b522fe8437ebb7063b75ddb95b571643'
tags:
  - cve.org
epss: 0.00443
epssPercentile: 0.37013
ingestedAt: '2026-10-16T17:24:46.669Z'
---

## Overview

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

seg6: separate dst_cache for input and output paths in seg6 lwtunnel

The seg6 lwtunnel uses a single dst_cache per encap route, shared
between seg6_input_core() and seg6_output_core(). These two paths
can perform the post-encap SID lookup in different routing contexts
(e.g., ip rules matching on the ingress interface, or VRF table
separation). Whichever path runs first populates the cache, and the
other reuses it blindly, bypassing its own lookup.

Fix this by splitting the cache into cache_input and cache_output,
so each path maintains its own cached dst independently.

## Affected

- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 1dec91d3b1cefb82635761b7812154af3ef46449`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 750569d6987a0ff46317a4b86eb3907e296287bf`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 57d0374d14fa667dec6952173b93e7e84486d5c9`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 84d458018b147176b259347103fccb7e93abd2b1`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 6305ad032b03d2ea4181b953a66e19a9a6ed053c`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < fb56de5d99218de49d5d43ef3a99e062ecd0f9a1`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < 17d87d42874f5d6c1a0ccc6d9190dfe82a9a7a6a`
- `Linux >= 6c8702c60b88651072460f3f4026c7dfe2521d12 < c3812651b522fe8437ebb7063b75ddb95b571643`
- `Linux 4.10`

## Remediation

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