CVE-2026-46238 (GCVE-0-2026-46238)
Vulnerability from cvelistv5
Published
2026-05-28 09:41
Modified
2026-08-05 12:30
Summary
In the Linux kernel, the following vulnerability has been resolved: batman-adv: stop caching unowned originator pointers in BAT IV BAT IV keeps the last-hop neighbor address in each neigh_node, but some paths also cache an originator pointer derived from a temporary lookup. That pointer is not owned by the neigh_node and may no longer refer to a live originator entry after purge handling runs. Stop storing the auxiliary originator pointer in the BAT IV neighbor state. When BAT IV needs the neighbor originator data, resolve it from the stored neighbor address and drop the reference again after use. [sven: avoid bonding logic for outgoing OGM]
Impacted products
Vendor Product Version
Linux Linux Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Version: c6c8fea29769d998d94fcec9b9f14d4b52b349d3
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/batman-adv/bat_iv_ogm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "86b2b58d7c228d850c8c78e4144e6123e8ed2718",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "384e3050a42be9085d50507b4d5f8266a588d742",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "8c16c68fdbb69778f8d04f650340c3f4d1518f8e",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "aafcbaf1159ea224528ca4075d0ba8c10ef374af",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "6e20700f8c524ac379ba8274ff5d453023b7c006",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "09dc0d1a12222ffca6481916eab3cfea477b9620",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "67bceeb22207f1f5a402973a3a0809e5f2698f38",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            },
            {
              "lessThan": "f03e8583532941b07761c5429de7d50766fa3110",
              "status": "affected",
              "version": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/batman-adv/bat_iv_ogm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.38"
            },
            {
              "lessThan": "2.6.38",
              "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.140",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.90",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.32",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.9",
              "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": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.175",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.140",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.90",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.32",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.9",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: stop caching unowned originator pointers in BAT IV\n\nBAT IV keeps the last-hop neighbor address in each neigh_node, but some\npaths also cache an originator pointer derived from a temporary lookup.\nThat pointer is not owned by the neigh_node and may no longer refer to a\nlive originator entry after purge handling runs.\n\nStop storing the auxiliary originator pointer in the BAT IV neighbor\nstate. When BAT IV needs the neighbor originator data, resolve it from\nthe stored neighbor address and drop the reference again after use.\n\n[sven: avoid bonding logic for outgoing OGM]"
        }
      ],
      "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 - batman-adv OGMs are raw layer-2 broadcast management frames (ethertype 0x4305) confined to the mesh segment; the attacker must be on the same WiFi/ad-hoc or wired link-layer mesh as the victim, matching the Adjacent vector for mesh/WiFi frame injection.\nAC:L - The attacker controls all OGM traffic and can deterministically set up the freed-originator condition (purge timeout is fixed and purge work runs every second) before triggering the dereference, so no uncontrollable race is involved.\nPR:N - batman-adv OGM/management packets are unauthenticated with no privilege check; any node able to put frames on the mesh segment can inject them.\nUI:N - No victim interaction is required \u2014 the vulnerable BAT IV OGM processing runs automatically on any node running batman-adv with the default routing algorithm.\nS:U - The use-after-free is contained within the kernel\u0027s own memory/security context with no crossing of a trust or virtualization boundary.\nC:H - The UAF dereferences a freed originator object that can be reallocated with attacker-controlled heap content, enabling kernel memory disclosure.\nI:H - The stale pointer is used for spinlock acquisition and field access on freed memory; UAF of a heap object enables heap grooming toward an arbitrary write / control-flow primitive.\nA:H - Dereferencing the freed/dangling originator pointer reliably causes a kernel oops/panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:30:39.402Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/86b2b58d7c228d850c8c78e4144e6123e8ed2718"
        },
        {
          "url": "https://git.kernel.org/stable/c/384e3050a42be9085d50507b4d5f8266a588d742"
        },
        {
          "url": "https://git.kernel.org/stable/c/8c16c68fdbb69778f8d04f650340c3f4d1518f8e"
        },
        {
          "url": "https://git.kernel.org/stable/c/aafcbaf1159ea224528ca4075d0ba8c10ef374af"
        },
        {
          "url": "https://git.kernel.org/stable/c/6e20700f8c524ac379ba8274ff5d453023b7c006"
        },
        {
          "url": "https://git.kernel.org/stable/c/09dc0d1a12222ffca6481916eab3cfea477b9620"
        },
        {
          "url": "https://git.kernel.org/stable/c/67bceeb22207f1f5a402973a3a0809e5f2698f38"
        },
        {
          "url": "https://git.kernel.org/stable/c/f03e8583532941b07761c5429de7d50766fa3110"
        }
      ],
      "title": "batman-adv: stop caching unowned originator pointers in BAT IV",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-46238",
    "datePublished": "2026-05-28T09:41:06.816Z",
    "dateReserved": "2026-05-13T15:03:33.107Z",
    "dateUpdated": "2026-08-05T12:30:39.402Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…