Skip to content
Heist/ feed
Back to feed
UnratedFix available

ovpn: replace bind when learning local endpoint

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: ovpn: replace bind when learning local endpoint struct ovpn_bind is published through peer->bind with RCU, but local endpoint learning updates bind->local in place under peer->lock. UDP TX reads the field without that lock. In particular, a concurrent IPv6 update can therefore result in a torn address read. Use ovpn_peer_reset_sockaddr to publish a replacement bind when learning a new local endpoint, just as a remote endpoint change does. Preserve the current remote address and reset the dst cache only after the new bind has been published successfully. Track remote endpoint changes separately so that float notification and transport-address rehashing remain limited to actual peer floats.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.18.55, 7.2.9
CVEs
CVE-2026-98604
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 18:25 UTC · Revision 1

Source evidence

ovpn: replace bind when learning local endpoint

core-osv · Original source

Published 18 Oct 2026, 15:19 UTC

In the Linux kernel, the following vulnerability has been resolved: ovpn: replace bind when learning local endpoint struct ovpn_bind is published through peer->bind with RCU, but local endpoint learning updates bind->local in place under peer->lock. UDP TX reads the field without that lock. In particular, a concurrent IPv6 update can therefore result in a torn address read. Use ovpn_peer_reset_sockaddr to publish a replacement bind when learning a new local endpoint, just as a remote endpoint change does. Preserve the current remote address and reset the dst cache only after the new bind has been published successfully. Track remote endpoint changes separately so that float notification and transport-address rehashing remain limited to actual peer floats.

osv:CVE-2026-98604

Kernel

Fixed versions: 6.18.55, 7.2.9

Complete source record
{
  "id": "b3b046f99900b85c321da2bc9b78df799fbd4078fe2a727d044c67ffc66cd7c5",
  "url": "https://osv.dev/vulnerability/CVE-2026-98604",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ovpn: replace bind when learning local endpoint",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: ovpn: replace bind when learning local endpoint struct ovpn_bind is published through peer->bind with RCU, but local endpoint learning updates bind->local in place under peer->lock. UDP TX reads the field without that lock. In particular, a concurrent IPv6 update can therefore result in a torn address read. Use ovpn_peer_reset_sockaddr to publish a replacement bind when learning a new local endpoint, just as a remote endpoint change does. Preserve the current remote address and reset the dst cache only after the new bind has been published successfully. Track remote endpoint changes separately so that float notification and transport-address rehashing remain limited to actual peer floats.",
    "evidence": "osv:CVE-2026-98604",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.18.55",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.9",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-98604",
      "aliases": [
        "CVE-2026-98604"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e"
                },
                {
                  "fixed": "21dbc9f4d0bdd3b22f91beabc7840064bf11594f"
                },
                {
                  "fixed": "e283009151d3d131447c2edda500199c5fda5f72"
                },
                {
                  "fixed": "aea934a221ec6a867221e5b765f65f1857befd53"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98604.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.16.0"
                },
                {
                  "fixed": "6.18.55"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.2.9"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98604.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.020175065Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/21dbc9f4d0bdd3b22f91beabc7840064bf11594f",
        "https://git.kernel.org/stable/c/aea934a221ec6a867221e5b765f65f1857befd53",
        "https://git.kernel.org/stable/c/e283009151d3d131447c2edda500199c5fda5f72",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98604.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-98604",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98604.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-98604",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 488340,
  "published_at": "2026-10-18T15:19:17.227+00:00"
}