Answer in brief
CVE-2026-98496 records a Unknown severity vulnerability in net: airoha: npu: cancel wdt_work after releasing the WDT IRQ. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=23290c7bc190def4e1ca61610992d9b7c32e33f3 <aca91d8fa0ecbc990ebf9a688c684dda78a43c00 || >=23290c7bc190def4e1ca61610992d9b7c32e33f3 <da9d42531f3a6dfea2e9c775b62a46185dbf280a || >=23290c7bc190def4e1ca61610992d9b7c32e33f3 <4bdee8060d1e4581624e68fbd369b1afb14df4bc | aca91d8fa0ecbc990ebf9a688c684dda78a43c00, da9d42531f3a6dfea2e9c775b62a46185dbf280a, 4bdee8060d1e4581624e68fbd369b1afb14df4bc |
| Linux/Linuxgeneric | 6.15 | Not reported |
Published upstream
Oct 18, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Oct 19, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Oct 18, 2026
In the Linux kernel, the following vulnerability has been resolved: net: airoha: npu: cancel wdt_work after releasing the WDT IRQ airoha_npu_remove() calls cancel_work_sync() on each core's wdt_work, but the watchdog IRQ that queues it is requested with devm_request_irq() and is freed only after .remove() returns. airoha_npu_wdt_handler() can therefore schedule_work() again once the cancel has returned. struct airoha_npu, which contains the work, is devm_kzalloc()'d and is freed in that same unwind, so the late work dereferences freed memory. Register the work with devm_work_autocancel() before devm_request_irq() and drop .remove(). Devres runs in reverse order, so the IRQ is freed before cancel_work_sync(), including when probe fails. A cancel left in .remove() cannot get that order. Initializing the work first also stops a pending watchdog interrupt from queuing an uninitialized work item. Probe currently calls INIT_WORK() only after devm_request_irq(). This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Quoted source text, attributed separately from HOL analysis.