Skip to content
Heist/ feed
Back to feed
HighFix available

amt: fix use-after-free in AMT delayed works

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: amt: fix use-after-free in AMT delayed works When an AMT device is removed, pending delayed works can still access the freed amt_dev structure, which may result in kernel crashes or memory corruption. amt_dev_stop() cancels req_wq and discovery_wq with cancel_delayed_work_sync(), but these works can be scheduled again from event_wq after the cancellation. This allows delayed works to access the freed amt_dev structure after the netdev has been released. The following is a simple race scenario: CPU0 CPU1 amt_dev_stop() cancel_delayed_work_sync() amt_event_work() mod_delayed_work(req_wq) free netdev req_wq accesses freed amt_dev Use disable_delayed_work_sync() in amt_dev_stop() to prevent req_wq and discovery_wq from being queued again and wait for running work items to complete. The delayed works are disabled after initialization in amt_newlink() and enabled only when the device is successfully opened. This keeps the delayed work lifecycle synchronized with the lifetime of the AMT device.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.12.101, 6.18.42, 7.1.6
CVEs
CVE-2026-68152
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 10:33 UTC · Revision 2

Source evidence

amt: fix use-after-free in AMT delayed works

core-osv · Original source

Published 10 Aug 2026, 11:59 UTC

In the Linux kernel, the following vulnerability has been resolved: amt: fix use-after-free in AMT delayed works When an AMT device is removed, pending delayed works can still access the freed amt_dev structure, which may result in kernel crashes or memory corruption. amt_dev_stop() cancels req_wq and discovery_wq with cancel_delayed_work_sync(), but these works can be scheduled again from event_wq after the cancellation. This allows delayed works to access the freed amt_dev structure after the netdev has been released. The following is a simple race scenario: CPU0 CPU1 amt_dev_stop() cancel_delayed_work_sync() amt_event_work() mod_delayed_work(req_wq) free netdev req_wq accesses freed amt_dev Use disable_delayed_work_sync() in amt_dev_stop() to prevent req_wq and discovery_wq from being queued again and wait for running work items to complete. The delayed works are disabled after initialization in amt_newlink() and enabled only when the device is successfully opened. This keeps the delayed work lifecycle synchronized with the lifetime of the AMT device.

osv:CVE-2026-68152

Kernel

Fixed versions: 6.12.101, 6.18.42, 7.1.6

Complete source record
{
  "id": "f8375b4c2098f2a32a10fa1fd0c9c2f101255edd5905f8e37d9cce80c99d2be4",
  "url": "https://osv.dev/vulnerability/CVE-2026-68152",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "amt: fix use-after-free in AMT delayed works",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: amt: fix use-after-free in AMT delayed works When an AMT device is removed, pending delayed works can still access the freed amt_dev structure, which may result in kernel crashes or memory corruption. amt_dev_stop() cancels req_wq and discovery_wq with cancel_delayed_work_sync(), but these works can be scheduled again from event_wq after the cancellation. This allows delayed works to access the freed amt_dev structure after the netdev has been released. The following is a simple race scenario: CPU0 CPU1 amt_dev_stop() cancel_delayed_work_sync() amt_event_work() mod_delayed_work(req_wq) free netdev req_wq accesses freed amt_dev Use disable_delayed_work_sync() in amt_dev_stop() to prevent req_wq and discovery_wq from being queued again and wait for running work items to complete. The delayed works are disabled after initialization in amt_newlink() and enabled only when the device is successfully opened. This keeps the delayed work lifecycle synchronized with the lifetime of the AMT device.",
    "evidence": "osv:CVE-2026-68152",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.12.101",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.42",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.1.6",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-68152",
      "aliases": [
        "CVE-2026-68152"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "cbc21dc1cfe949e37b2a54c71511579f1899e8d4"
                },
                {
                  "fixed": "a46bfa01e01df0f6f6dc4b0be18db002d6d2dbd2"
                },
                {
                  "fixed": "1a644db2cf59f164cdf3c75995bab5aadc097528"
                },
                {
                  "fixed": "006340cf06881b6ff49767d8b6f3c4f7b892670c"
                },
                {
                  "fixed": "ea20c44935d6142daecfa9b39d635033a7553e1b"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68152.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.12.101"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.42"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.1.6"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68152.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.065689885Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/006340cf06881b6ff49767d8b6f3c4f7b892670c",
        "https://git.kernel.org/stable/c/1a644db2cf59f164cdf3c75995bab5aadc097528",
        "https://git.kernel.org/stable/c/a46bfa01e01df0f6f6dc4b0be18db002d6d2dbd2",
        "https://git.kernel.org/stable/c/ea20c44935d6142daecfa9b39d635033a7553e1b",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68152.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-68152",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68152.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-68152",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 494542,
  "published_at": "2026-08-10T11:59:18.27+00:00"
}