{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-98496 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-98496 is an use after free vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-98496 and fix it if it is affected.\n\nWhat it is: CVE-2026-98496 is an use after free vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-98496 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-98496/ (Markdown: https://insights.sbomify.com/CVE-2026-98496/index.md)","id":"CVE-2026-98496","markdown":"https://insights.sbomify.com/CVE-2026-98496/index.md","name":"CVE-2026-98496","record":{"aliases":["BELL-CVE-2026-98496","DEBIAN-CVE-2026-98496","GHSA-qq9m-vqcj-573m","UBUNTU-CVE-2026-98496"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["code_execution","denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel driver","requires_auth":"none","summary":"A use-after-free in the Airoha NPU driver allows attackers to execute code or cause a denial of service via race conditions during device removal.","user_interaction":"not_required","vuln_class":"use_after_free"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: airoha: npu: cancel wdt_work after releasing the WDT IRQ\n\nairoha_npu_remove() calls cancel_work_sync() on each core's wdt_work,\nbut the watchdog IRQ that queues it is requested with devm_request_irq()\nand is freed only after .remove() returns.  airoha_npu_wdt_handler() can\ntherefore schedule_work() again once the cancel has returned.  struct\nairoha_npu, which contains the work, is devm_kzalloc()'d and is freed in\nthat same unwind, so the late work dereferences freed memory.\n\nRegister the work with devm_work_autocancel() before devm_request_irq()\nand drop .remove().  Devres runs in reverse order, so the IRQ is freed\nbefore cancel_work_sync(), including when probe fails.  A cancel left in\n.remove() cannot get that order.  Initializing the work first also stops\na pending watchdog interrupt from queuing an uninitialized work item.\nProbe currently calls INIT_WORK() only after devm_request_irq().\n\nThis issue was identified during our ongoing static-analysis research\nwhile reviewing kernel code.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"net: airoha: npu: cancel wdt_work after releasing the WDT IRQ","id":"CVE-2026-98496","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"use_after_free","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"net/mlx5e: fix swapped IPv6 IPsec policy masks","id":"CVE-2026-98497"},"packages":[],"prev":{"headline":"net: arp: terminate device name before lookup","id":"CVE-2026-98495"},"products":["Linux"],"published":"2026-10-18","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-19","vendors":["Linux"]},"summary":"A use-after-free in the Airoha NPU driver allows attackers to execute code or cause a denial of service via race conditions during device removal.","url":"https://insights.sbomify.com/CVE-2026-98496/"}