CVE-2025-68182 (GCVE-0-2025-68182)
Vulnerability from cvelistv5
Published
2025-12-16 13:43
Modified
2026-08-05 12:10
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: fix potential use after free in iwl_mld_remove_link() This code frees "link" by calling kfree_rcu(link, rcu_head) and then it dereferences "link" to get the "link->fw_id". Save the "link->fw_id" first to avoid a potential use after free.
Impacted products
Vendor Product Version
Linux Linux Version: d1e879ec600f9b3bdd253167533959facfefb17b
Version: d1e879ec600f9b3bdd253167533959facfefb17b
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/intel/iwlwifi/mld/link.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5b4a239c9f94e1606435f1842fc6fd426d607dbb",
              "status": "affected",
              "version": "d1e879ec600f9b3bdd253167533959facfefb17b",
              "versionType": "git"
            },
            {
              "lessThan": "77e67d5daaf155f7d0f99f4e797c4842169ec19e",
              "status": "affected",
              "version": "d1e879ec600f9b3bdd253167533959facfefb17b",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/intel/iwlwifi/mld/link.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.15"
            },
            {
              "lessThan": "6.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.8",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: iwlwifi: fix potential use after free in iwl_mld_remove_link()\n\nThis code frees \"link\" by calling kfree_rcu(link, rcu_head) and then it\ndereferences \"link\" to get the \"link-\u003efw_id\".  Save the \"link-\u003efw_id\"\nfirst to avoid a potential use after free."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - The vulnerable path is reached from 802.11 frames received over the air \u2014 a spoofed beacon carrying a Reconfiguration Multi-Link element (parsed unauthenticated in ieee80211_ml_reconfiguration()) or a deauth/disassoc drives MLO link teardown into iwl_mld_remove_link(). This requires radio proximity to the victim STA, which is the Adjacent network vector for WiFi frame injection.\nAC:H - kfree_rcu() always defers the free past an RCU grace period, so the stale read only touches freed memory if the task is preempted in the ~two-instruction gap between the kfree_rcu() and the link-\u003efw_id dereference while a full grace period and the kfree_rcu batch drain complete. The attacker can trigger the code path repeatedly but has no influence over preemption placement at that instruction boundary, which is a condition genuinely outside attacker control.\nPR:N - Beacons and deauthentication frames are unauthenticated and unprotected in the common deployment (beacon protection and PMF are optional), so the attacker needs no credentials on the target and no association with it. The remote trigger requires only that the victim be an associated Wi-Fi 7 MLO client.\nUI:N - An already-associated MLO station processes injected beacons and management frames automatically with no operator action; being connected is a pre-existing steady state rather than an action taken to enable the attack.\nS:U - The freed object, the stale read, and all downstream corruption are confined to kernel memory managed by the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - This is a use-after-free read of slab memory that can be reallocated with attacker-influenced content, and the resulting mis-clearing of mld-\u003efw_id_to_bss_conf[] leaves a dangling ieee80211_bss_conf pointer that later firmware-notification handlers (e.g. iwl_mld_handle_missed_beacon_notif) dereference, exposing freed kernel memory.\nI:H - The stale fw_id is used as the index for RCU_INIT_POINTER(mld-\u003efw_id_to_bss_conf[fw_id], NULL), so reallocated heap contents steer a kernel pointer store to the wrong slot, corrupting the link-to-bss_conf mapping and leaving a dangling RCU pointer usable as a follow-on memory-corruption primitive.\nA:H - The bug produces a KASAN use-after-free splat and a WARN_ON that panics on panic_on_warn systems, and the corrupted or uncleared fw_id_to_bss_conf entry causes a stale/NULL dereference when the firmware next delivers a link notification, resulting in a kernel crash."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:10:05.313Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5b4a239c9f94e1606435f1842fc6fd426d607dbb"
        },
        {
          "url": "https://git.kernel.org/stable/c/77e67d5daaf155f7d0f99f4e797c4842169ec19e"
        }
      ],
      "title": "wifi: iwlwifi: fix potential use after free in iwl_mld_remove_link()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-68182",
    "datePublished": "2025-12-16T13:43:00.435Z",
    "dateReserved": "2025-12-16T13:41:40.252Z",
    "dateUpdated": "2026-08-05T12:10:05.313Z",
    "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…