CVE-2026-64096 (GCVE-0-2026-64096)

Vulnerability from cvelistv5 – Published: 2026-07-19 15:40 – Updated: 2026-08-05 12:39
VLAI
Title
batman-adv: mcast: fix use-after-free in orig_node RCU release
Summary
In the Linux kernel, the following vulnerability has been resolved: batman-adv: mcast: fix use-after-free in orig_node RCU release batadv_mcast_purge_orig() removes entries from RCU-protected hlists but does not wait for an RCU grace period before returning. Concurrent RCU readers may still accesses references to those entries at the point of removal. RCU-protected readers trying to operate on entries like orig->mcast_want_all_ipv6_node will then access already freed memory. Fix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(), just before the call_rcu() invocation. This ensures RCU readers that were active at purge time have drained before the orig_node memory is reclaimed.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < ff3a4487ead475e27b43280b8ee3d8464fe280e1 (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < 78a63fb2f7d5630d1c1f2859a20d4e4226863b41 (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < ced48f55bac73f0822eae90509e51b42b4f646c8 (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < 70bcb678561f0fb58f33270fc73f12f3be72b878 (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < aef897c9d2dd0d9339167fb82b62beff68d076cb (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < 8a3707653ab658e082ccd992e92594e01b09a3fc (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < edfb1e094104a50f931553dc82ac59246569fd32 (git)
Affected: ab49886e3da73b6b35ece21006e191910427bb30 , < 20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc (git)
Create a notification for this product.
Linux Linux Affected: 3.15
Unaffected: 0 , < 3.15 (semver)
Unaffected: 5.10.258 , ≤ 5.10.* (semver)
Unaffected: 5.15.209 , ≤ 5.15.* (semver)
Unaffected: 6.1.175 , ≤ 6.1.* (semver)
Unaffected: 6.6.142 , ≤ 6.6.* (semver)
Unaffected: 6.12.92 , ≤ 6.12.* (semver)
Unaffected: 6.18.34 , ≤ 6.18.* (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/batman-adv/originator.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ff3a4487ead475e27b43280b8ee3d8464fe280e1",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "78a63fb2f7d5630d1c1f2859a20d4e4226863b41",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "ced48f55bac73f0822eae90509e51b42b4f646c8",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "70bcb678561f0fb58f33270fc73f12f3be72b878",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "aef897c9d2dd0d9339167fb82b62beff68d076cb",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "8a3707653ab658e082ccd992e92594e01b09a3fc",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "edfb1e094104a50f931553dc82ac59246569fd32",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            },
            {
              "lessThan": "20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc",
              "status": "affected",
              "version": "ab49886e3da73b6b35ece21006e191910427bb30",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/batman-adv/originator.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.15"
            },
            {
              "lessThan": "3.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.258",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.175",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.142",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.258",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.175",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.142",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.92",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.34",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: mcast: fix use-after-free in orig_node RCU release\n\nbatadv_mcast_purge_orig() removes entries from RCU-protected hlists but\ndoes not wait for an RCU grace period before returning. Concurrent RCU\nreaders may still accesses references to those entries at the point of\nremoval. RCU-protected readers trying to operate on entries like\norig-\u003emcast_want_all_ipv6_node will then access already freed memory.\n\nFix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(),\njust before the call_rcu() invocation. This ensures RCU readers that were\nactive at purge time have drained before the orig_node memory is reclaimed."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - Exploitation requires injecting BATMAN-adv protocol frames onto the victim\u0027s mesh segment (typically WiFi or wired L2 mesh), reachable only from adjacent mesh peers rather than arbitrary remote Internet hosts.\nAC:L - An attacker on the mesh controls both sides of the race by registering an originator with multicast flags via OGMs, ceasing heartbeats to trigger purge, and flooding IPv6 multicast to drive RCU readers in batadv_mcast_forw_want_all_ipv6().\nPR:N - No local privileges on the victim are required; a rogue mesh peer can send OGMs and multicast traffic that drive originator creation, timeout purge, and concurrent RCU list traversal without authentication.\nUI:N - Exploitation is fully automated through mesh protocol packet exchange and does not require any action from a local user or administrator on the victim node.\nS:U - The use-after-free corrupts kernel heap memory within the same kernel security boundary and does not cross into other VMs, containers, or hardware isolation domains.\nC:H - The use-after-free on batadv_orig_node allows concurrent RCU readers to dereference freed memory containing orig-\u003emcast_want_all_ipv6_node and related fields, enabling arbitrary kernel memory disclosure.\nI:H - Use-after-free of the orig_node structure provides attacker-influencable freed heap slots that can be leveraged for arbitrary kernel writes and potential code execution via heap grooming.\nA:H - Concurrent access to freed orig_node memory during RCU list traversal can cause kernel oops or panic, and UAF conditions inherently threaten system availability even before full exploitation."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:39:10.448Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ff3a4487ead475e27b43280b8ee3d8464fe280e1"
        },
        {
          "url": "https://git.kernel.org/stable/c/78a63fb2f7d5630d1c1f2859a20d4e4226863b41"
        },
        {
          "url": "https://git.kernel.org/stable/c/ced48f55bac73f0822eae90509e51b42b4f646c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/70bcb678561f0fb58f33270fc73f12f3be72b878"
        },
        {
          "url": "https://git.kernel.org/stable/c/aef897c9d2dd0d9339167fb82b62beff68d076cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/8a3707653ab658e082ccd992e92594e01b09a3fc"
        },
        {
          "url": "https://git.kernel.org/stable/c/edfb1e094104a50f931553dc82ac59246569fd32"
        },
        {
          "url": "https://git.kernel.org/stable/c/20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc"
        }
      ],
      "title": "batman-adv: mcast: fix use-after-free in orig_node RCU release",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64096",
    "datePublished": "2026-07-19T15:40:02.969Z",
    "dateReserved": "2026-07-19T07:54:57.033Z",
    "dateUpdated": "2026-08-05T12:39:10.448Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64096",
      "date": "2026-08-10",
      "epss": "0.00255",
      "percentile": "0.16961"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64096\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-19T16:17:50.600\",\"lastModified\":\"2026-07-30T14:59:47.950\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbatman-adv: mcast: fix use-after-free in orig_node RCU release\\n\\nbatadv_mcast_purge_orig() removes entries from RCU-protected hlists but\\ndoes not wait for an RCU grace period before returning. Concurrent RCU\\nreaders may still accesses references to those entries at the point of\\nremoval. RCU-protected readers trying to operate on entries like\\norig-\u003emcast_want_all_ipv6_node will then access already freed memory.\\n\\nFix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(),\\njust before the call_rcu() invocation. This ensures RCU readers that were\\nactive at purge time have drained before the orig_node memory is reclaimed.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/batman-adv/originator.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"ff3a4487ead475e27b43280b8ee3d8464fe280e1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"78a63fb2f7d5630d1c1f2859a20d4e4226863b41\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"ced48f55bac73f0822eae90509e51b42b4f646c8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"70bcb678561f0fb58f33270fc73f12f3be72b878\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"aef897c9d2dd0d9339167fb82b62beff68d076cb\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"8a3707653ab658e082ccd992e92594e01b09a3fc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"edfb1e094104a50f931553dc82ac59246569fd32\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ab49886e3da73b6b35ece21006e191910427bb30\",\"lessThan\":\"20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/batman-adv/originator.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"3.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.258\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.209\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.175\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.142\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.92\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.34\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.11\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"ADJACENT_NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/70bcb678561f0fb58f33270fc73f12f3be72b878\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/78a63fb2f7d5630d1c1f2859a20d4e4226863b41\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8a3707653ab658e082ccd992e92594e01b09a3fc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/aef897c9d2dd0d9339167fb82b62beff68d076cb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ced48f55bac73f0822eae90509e51b42b4f646c8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/edfb1e094104a50f931553dc82ac59246569fd32\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff3a4487ead475e27b43280b8ee3d8464fe280e1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-21T09:07:35+00:00",
      "cve": "CVE-2026-64096",
      "id": "CVE-2026-64096",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: batman-adv: mcast: fix use-after-free in orig_node RCU release",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64096.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-07T17:00:50Z",
      "cve": "CVE-2026-64096",
      "id": "CVE-2026-64096",
      "initial_release_date": "2026-07-21T12:59:46Z",
      "product_status:known_affected": "292",
      "product_status:known_not_affected": "4",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64096",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64096.json",
      "version": "4"
    }
  }
}



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…