CVE-2026-80735 (GCVE-0-2026-80735)

Vulnerability from cvelistv5 – Published: 2026-09-03 08:21 – Updated: 2026-09-04 04:58
VLAI
Title
ovpn: ensure socket is owned by ovpn before deref sk_user_data
Summary
In the Linux kernel, the following vulnerability has been resolved: ovpn: ensure socket is owned by ovpn before deref sk_user_data Some subsystems, like BPF SOCKMAP, set sk_user_data without actually setting the encap_type. For this reason, we must make sure that the type is the one ovpn expects before dereferencing sk_user_data. Failing to do so may lead to out-of-bounds reads.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < 61fb3cca40ff938671474f4a16adb908c19032d7 (git)
Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < 43a31142e1d22b3cf5490bd94a94db7196901734 (git)
Affected: f6226ae7a0cd47aaa9175aca6a1e19600f884cbf , < 59aed1eb60d70678a53acccb0cb337a26ce6680e (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.16
Unaffected: 0 , < 6.16 (semver)
Unaffected: 6.18.45 , ≤ 6.18.* (semver)
Unaffected: 7.1.9 , ≤ 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/socket.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "61fb3cca40ff938671474f4a16adb908c19032d7",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            },
            {
              "lessThan": "43a31142e1d22b3cf5490bd94a94db7196901734",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            },
            {
              "lessThan": "59aed1eb60d70678a53acccb0cb337a26ce6680e",
              "status": "affected",
              "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ovpn/socket.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.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "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.45",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "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: ensure socket is owned by ovpn before deref sk_user_data\n\nSome subsystems, like BPF SOCKMAP, set sk_user_data without\nactually setting the encap_type.\n\nFor this reason, we must make sure that the type is the\none ovpn expects before dereferencing sk_user_data.\n\nFailing to do so may lead to out-of-bounds reads."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is reached only via OVPN_CMD_PEER_NEW genetlink (local sendmsg/netlink syscall) that passes a UDP socket fd into ovpn_socket_new(); BPF SOCKMAP enrollment and ovpn setup are local kernel control paths, not remote packet handling.\nAC:L - An attacker who can use OVPN netlink and BPF SOCKMAP fully controls creating a UDP socket, enrolling it in sockmap (sk_user_data set, encap_type left zero), and issuing PEER_NEW, deterministically hitting the bad cast on each attempt.\nPR:L - All OVPN genetlink commands require GENL_ADMIN_PERM (CAP_NET_ADMIN), and BPF SOCKMAP enrollment needs bpf()/map privileges (CAP_BPF, often plus CAP_NET_ADMIN); both are obtainable by unprivileged users inside permitted user/network namespaces per CNA guidance.\nUI:N - No separate victim action is required; the same local actor creates the ovpn interface, enrolls their UDP socket in BPF SOCKMAP, and sends OVPN_CMD_PEER_NEW to trigger ovpn_socket_new() on that fd.\nS:U - Impact is confined to kernel memory misinterpretation within the host kernel security domain on VPN/offload nodes; it does not cross VM, container runtime, or IOMMU boundaries into another security authority.\nC:H - When sk_user_data points to a BPF sk_psock (or similar non-ovpn owner) but encap_type is zero, ovpn_socket_new() casts it to struct ovpn_socket and reads ovpn_sock-\u003eovpn, a type-confused out-of-bounds read of kernel memory per CNA OOB-read guidance.\nI:H - This is type confusion between foreign sk_user_data objects and struct ovpn_socket; CNA guidance rates type confusion High, and a mistaken ovpn_sock-\u003eovpn match could drive ovpn_socket_hold() against the wrong layout, corrupting refcount-adjacent kernel fields.\nA:L - The common path returns -EBUSY after the misread comparison, but the confused read and any mistaken hold can still provoke WARN/KASAN faults or refcount corruption on VPN gateways running ovpn offload with BPF sockmap, giving at least Low availability impact when uncertain."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-04T04:58:20.684Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/61fb3cca40ff938671474f4a16adb908c19032d7"
        },
        {
          "url": "https://git.kernel.org/stable/c/43a31142e1d22b3cf5490bd94a94db7196901734"
        },
        {
          "url": "https://git.kernel.org/stable/c/59aed1eb60d70678a53acccb0cb337a26ce6680e"
        }
      ],
      "title": "ovpn: ensure socket is owned by ovpn before deref sk_user_data",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80735",
    "datePublished": "2026-09-03T08:21:51.344Z",
    "dateReserved": "2026-08-26T14:34:25.789Z",
    "dateUpdated": "2026-09-04T04:58:20.684Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80735",
      "date": "2026-09-21",
      "epss": "0.00124",
      "percentile": "0.02456"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ovpn/socket.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "61fb3cca40ff938671474f4a16adb908c19032d7",
                    "status": "affected",
                    "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "43a31142e1d22b3cf5490bd94a94db7196901734",
                    "status": "affected",
                    "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "59aed1eb60d70678a53acccb0cb337a26ce6680e",
                    "status": "affected",
                    "version": "f6226ae7a0cd47aaa9175aca6a1e19600f884cbf",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ovpn/socket.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.45",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.9",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\novpn: ensure socket is owned by ovpn before deref sk_user_data\n\nSome subsystems, like BPF SOCKMAP, set sk_user_data without\nactually setting the encap_type.\n\nFor this reason, we must make sure that the type is the\none ovpn expects before dereferencing sk_user_data.\n\nFailing to do so may lead to out-of-bounds reads."
          }
        ],
        "id": "CVE-2026-80735",
        "lastModified": "2026-09-04T05:17:14.030",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "LOW",
                "baseScore": 7.3,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.5,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-03T13:06:12.343",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/43a31142e1d22b3cf5490bd94a94db7196901734"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/59aed1eb60d70678a53acccb0cb337a26ce6680e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/61fb3cca40ff938671474f4a16adb908c19032d7"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…