CVE-2026-68342 (GCVE-0-2026-68342)

Vulnerability from cvelistv5 – Published: 2026-08-10 12:03 – Updated: 2026-08-17 05:03
VLAI
Title
ovpn: avoid putting unrelated P2P peer on socket release
Summary
In the Linux kernel, the following vulnerability has been resolved: ovpn: avoid putting unrelated P2P peer on socket release ovpn_peer_release_p2p() is called when an OVPN UDP socket is being destroyed. It checks the currently published P2P peer and releases it only if that peer still uses the socket being destroyed. A peer replacement can publish a new peer before the old UDP socket is destroyed. When the old socket destruction path runs afterwards, ovpn_peer_release_p2p() observes the new peer through ovpn->peer. Since the new peer uses a different socket, the function takes the socket mismatch branch. That branch still calls ovpn_peer_put(peer). At this point, however, peer is the currently published replacement peer, not the peer associated with the socket being destroyed. Dropping its reference can free it while ovpn->peer still points to it, leading to later use-after-free accesses from the peer and socket cleanup paths. KASAN reports this as a slab-use-after-free on the kmalloc-1k ovpn_peer object. In the reproducer, the object is allocated from ovpn_peer_new() via ovpn_nl_peer_new_doit(), and freed through ovpn_peer_release_rcu() from RCU callback processing. Observed access sites include ovpn_peer_remove(), ovpn_socket_release(), ovpn_nl_peer_del_notify(), and unlock_ovpn(). Fix this by returning from the socket mismatch branch without putting the peer.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < c5bf6b39be235ef578af4d39872f0c68cda3b937 (git)
Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < 016a50379d17b886d12a4efa5211a418e035fe70 (git)
Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < b52c5103f64ee825996ca1ab8df7283cde8c5f86 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.16
Unaffected: 0 , < 6.16 (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1.6 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ovpn/peer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c5bf6b39be235ef578af4d39872f0c68cda3b937",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            },
            {
              "lessThan": "016a50379d17b886d12a4efa5211a418e035fe70",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            },
            {
              "lessThan": "b52c5103f64ee825996ca1ab8df7283cde8c5f86",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ovpn/peer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.16"
            },
            {
              "lessThan": "6.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.6",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\novpn: avoid putting unrelated P2P peer on socket release\n\novpn_peer_release_p2p() is called when an OVPN UDP socket is being\ndestroyed. It checks the currently published P2P peer and releases it only\nif that peer still uses the socket being destroyed.\n\nA peer replacement can publish a new peer before the old UDP socket is\ndestroyed. When the old socket destruction path runs afterwards,\novpn_peer_release_p2p() observes the new peer through ovpn-\u003epeer. Since the\nnew peer uses a different socket, the function takes the socket mismatch\nbranch.\n\nThat branch still calls ovpn_peer_put(peer). At this point, however, peer\nis the currently published replacement peer, not the peer associated with\nthe socket being destroyed. Dropping its reference can free it while\novpn-\u003epeer still points to it, leading to later use-after-free accesses\nfrom the peer and socket cleanup paths.\n\nKASAN reports this as a slab-use-after-free on the kmalloc-1k ovpn_peer\nobject. In the reproducer, the object is allocated from ovpn_peer_new() via\novpn_nl_peer_new_doit(), and freed through ovpn_peer_release_rcu() from RCU\ncallback processing. Observed access sites include ovpn_peer_remove(),\novpn_socket_release(), ovpn_nl_peer_del_notify(), and unlock_ovpn().\n\nFix this by returning from the socket mismatch branch without putting the\npeer."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:03:42.312Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c5bf6b39be235ef578af4d39872f0c68cda3b937"
        },
        {
          "url": "https://git.kernel.org/stable/c/016a50379d17b886d12a4efa5211a418e035fe70"
        },
        {
          "url": "https://git.kernel.org/stable/c/b52c5103f64ee825996ca1ab8df7283cde8c5f86"
        }
      ],
      "title": "ovpn: avoid putting unrelated P2P peer on socket release",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68342",
    "datePublished": "2026-08-10T12:03:18.852Z",
    "dateReserved": "2026-07-30T09:28:09.384Z",
    "dateUpdated": "2026-08-17T05:03:42.312Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68342",
      "date": "2026-08-20",
      "epss": "0.00177",
      "percentile": "0.07537"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-68342\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-10T13:20:24.720\",\"lastModified\":\"2026-08-17T06:17:42.420\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\novpn: avoid putting unrelated P2P peer on socket release\\n\\novpn_peer_release_p2p() is called when an OVPN UDP socket is being\\ndestroyed. It checks the currently published P2P peer and releases it only\\nif that peer still uses the socket being destroyed.\\n\\nA peer replacement can publish a new peer before the old UDP socket is\\ndestroyed. When the old socket destruction path runs afterwards,\\novpn_peer_release_p2p() observes the new peer through ovpn-\u003epeer. Since the\\nnew peer uses a different socket, the function takes the socket mismatch\\nbranch.\\n\\nThat branch still calls ovpn_peer_put(peer). At this point, however, peer\\nis the currently published replacement peer, not the peer associated with\\nthe socket being destroyed. Dropping its reference can free it while\\novpn-\u003epeer still points to it, leading to later use-after-free accesses\\nfrom the peer and socket cleanup paths.\\n\\nKASAN reports this as a slab-use-after-free on the kmalloc-1k ovpn_peer\\nobject. In the reproducer, the object is allocated from ovpn_peer_new() via\\novpn_nl_peer_new_doit(), and freed through ovpn_peer_release_rcu() from RCU\\ncallback processing. Observed access sites include ovpn_peer_remove(),\\novpn_socket_release(), ovpn_nl_peer_del_notify(), and unlock_ovpn().\\n\\nFix this by returning from the socket mismatch branch without putting the\\npeer.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ovpn/peer.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"f6226ae7a0cd47aaa9175aca6a1e19600f884cbf\",\"lessThan\":\"c5bf6b39be235ef578af4d39872f0c68cda3b937\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f6226ae7a0cd47aaa9175aca6a1e19600f884cbf\",\"lessThan\":\"016a50379d17b886d12a4efa5211a418e035fe70\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f6226ae7a0cd47aaa9175aca6a1e19600f884cbf\",\"lessThan\":\"b52c5103f64ee825996ca1ab8df7283cde8c5f86\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ovpn/peer.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.16\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.16\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.42\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.6\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/016a50379d17b886d12a4efa5211a418e035fe70\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b52c5103f64ee825996ca1ab8df7283cde8c5f86\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c5bf6b39be235ef578af4d39872f0c68cda3b937\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-13T17:54:34+00:00",
      "cve": "CVE-2026-68342",
      "id": "CVE-2026-68342",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ovpn: avoid putting unrelated P2P peer on socket release",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68342.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-11T23:47:09Z",
      "cve": "CVE-2026-68342",
      "id": "CVE-2026-68342",
      "initial_release_date": "2026-08-11T23:47:09Z",
      "product_status:known_not_affected": "296",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68342",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68342.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…