---
id: CVE-2026-98603
title: 'ovpn: replace bind when clearing stale local source'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ovpn: replace bind when clearing stale local source

  The UDP output fallback clears bind->local in place when the remembered
  source address is no longer usable. The bin…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 <
    c44a04722f7dae9a45a101b8e100931ab59f1c18
  - >-
    Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 <
    72bd1bea37ea2c8553938f086bf48ccd2147dfe1
  - >-
    Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 <
    7d8104988f423572df1f3347ce578037b1043f34
  - Linux 6.16
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:19:16.215Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98603'
references:
  - url: 'https://git.kernel.org/stable/c/c44a04722f7dae9a45a101b8e100931ab59f1c18'
  - url: 'https://git.kernel.org/stable/c/72bd1bea37ea2c8553938f086bf48ccd2147dfe1'
  - url: 'https://git.kernel.org/stable/c/7d8104988f423572df1f3347ce578037b1043f34'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.247Z'
---

## Overview

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

ovpn: replace bind when clearing stale local source

The UDP output fallback clears bind->local in place when the remembered
source address is no longer usable. The bind is RCU-published and read
locklessly by concurrent TX, so an IPv6 reader can observe a torn
address.

Retry the route lookup with source address autoselection without
modifying the bind. After a successful lookup, revalidate the bind and
route key under peer->lock, reset the dst cache, and best-effort publish
a replacement bind with a wildcard local address.

Do not cache the resolved dst when clearing the local source. Replacing
the source invalidates all per-CPU cache entries, while
dst_cache_set_ip4 and dst_cache_set_ip6 update only the current CPU
slot. The current packet can still use the resolved route; if bind
allocation fails, a later cache miss retries the repair.

## Affected

- `Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 < c44a04722f7dae9a45a101b8e100931ab59f1c18`
- `Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 < 72bd1bea37ea2c8553938f086bf48ccd2147dfe1`
- `Linux >= 08857b5ec5d91d83e69e40a36554a8c7557b7301 < 7d8104988f423572df1f3347ce578037b1043f34`
- `Linux 6.16`

## Remediation

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