CVE-2026-98496 in Linux
要約
〜によって VulDB • 2026年10月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
net: airoha: npu: WDT IRQの解放後にwdt_workをキャンセルする
airoha_npu_remove()は各コアのwdt_workに対してcancel_work_sync()を呼び出しますが、それをキューイングするウォッチドッグIRQはdevm_request_irq()で要求され、.remove()が返るまで解放されません。そのため、取消しが戻った後にairoha_npu_wdt_handler()がschedule_work()を再度実行することがあります。workを含むstruct airoha_npuはdevm_kzalloc()で割り当てられ、同じアンワインド処理内で解放されるため、遅延して実行されたworkによって解放済みメモリへの参照が行われます。
devm_request_irq()の前にdevm_work_autocancel()を使用してworkを登録し、.remove()を削除します。Devresは逆順に動作するため、プローブが失敗した場合でもIRQがcancel_work_sync()よりも先に解放されます。.remove()に残されたキャンセルではこの順序を保つことができません。また、workを最初に初期化することで、未初期化のworkアイテムをキューイングする保留中のウォッチドッグ割り込みを防ぐことができます。現在、プローブはdevm_request_irq()の実行後にのみINIT_WORK()を呼び出しています。
本問題は、カーネルコードレビュー中に実施している継続的な静的解析調査において特定されました。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.