{"id":"CVE-2026-98544","kind":"vulnerability","aliases":["CVE-2026-98544"],"related":[],"title":"Linux kernel: bna driver timer can fire after device teardown, use-after-free","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbna: prevent IOC timer rearm during teardown\n\nbna: prevent IOC timer rearm during teardown\n\nbnad_pci_remove() and the probe disable_ioceth path call\ntimer_delete_sync() for ioc_timer, sem_timer and hb_timer, but not for\niocpf_timer.  bnad_iocpf_timeout() then takes bnad->bna_lock after\nfree_netdev() has freed the struct bnad.\n\nDeleting iocpf_timer last does not fix this.  sem_timer and\niocpf_timer rearm each other: bnad_iocpf_sem_timeout() can arm\niocpf_timer, and bnad_iocpf_timeout() arms sem_timer from\nbfa_ioc_hw_sem_get() when the semaphore is busy.\ntimer_delete_sync() only waits out its own callback.\nbnad_ioceth_disable() can time out and leave that callback live.\n\nShut all four IOC timers down with timer_shutdown_sync() on both\npaths, so a later mod_timer() is ignored.\n\nThis issue was identified during our ongoing static-analysis research\nwhile reviewing kernel code.","summary":"In the Linux kernel's bna network driver, an IOC timer can still run after the device structure has been freed during removal or probe failure. The callback then takes a lock in freed memory, which is a use-after-free.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["bna","kernel","linux","qlogic-brocade-nic","runtime"],"not_affected_if":["no-bna-hardware"],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-18T16:17:06+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:23:37+00:00","updated_at":"2026-10-25T05:23:37+00:00","category":"runtime","confidence":0.3,"triage":{"at":"2026-10-25T05:23:37Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: bna driver timer can fire after device teardown, use-after-free","impact":"medium","summary":"In the Linux kernel's bna network driver, an IOC timer can still run after the device structure has been freed during removal or probe failure. The callback then takes a lock in freed memory, which is a use-after-free.","category":"runtime","nicknames":[],"who_cares":["linux","kernel","bna","qlogic-brocade-nic"],"confidence":0.3,"needs_auth":"unknown","worst_case":"unknown","analyst_note":"Find the fixed kernel version and stable commit for CVE-2026-98544 on NVD and kernel.org; sources give no severity or affected versions.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["no-bna-hardware"],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000536,"input_tokens":3617,"output_tokens":349,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':16A,19A '-98544':17A,20A 'analysi':228C 'arm':158C,165C 'bfa':169C 'bna':3A,21B,34B,81C,88C,127C 'bnad':95C,121C,126C,136C,153C,162C,188C 'brocad':26B 'busi':178C 'call':104C 'callback':56B,187C,197C 'code':233C 'cve':15A,18A 'delet':106C,137C,180C 'devic':9A,45B 'disabl':101C,190C 'driver':4A,36B 'failur':54B 'fire':7A 'fix':143C 'follow':76C 'four':201C 'free':14A,70B,130C 'freed':49B,62B,133C 'get':173C 'hb':114C 'hw':171C 'identifi':222C 'ignor':218C 'ioc':38B,83C,90C,109C,170C,202C 'ioceth':102C,189C 'iocpf':119C,122C,138C,148C,154C,159C,163C 'issu':220C 'kernel':2A,22B,32B,74C,232C 'last':140C 'later':214C 'leav':195C 'linux':1A,23B,31B,73C 'live':198C 'lock':60B,128C 'memori':63B 'mod':215C 'netdev':131C 'network':35B 'nic':27B 'ongo':225C 'path':103C,211C 'pci':96C 'prevent':82C,89C 'probe':53B,100C 'qlogic':25B 'qlogic-brocade-n':24B 'rearm':85C,92C,150C 'remov':51B,97C 'research':229C 'resolv':80C 'review':231C 'run':42B 'runtim':28B 'sem':111C,145C,155C,166C,172C 'semaphor':176C 'shut':199C 'shutdown':207C 'static':227C 'static-analysi':226C 'still':41B 'struct':135C 'structur':46B 'sync':107C,181C,208C 'take':58B,125C 'teardown':10A,87C,94C 'time':192C 'timeout':123C,156C,164C 'timer':5A,39B,84C,91C,105C,110C,112C,115C,120C,139C,146C,149C,160C,167C,179C,203C,206C,216C 'use':12A,68B 'use-after-fre':11A,67B 'vulner':77C 'wait':183C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:06+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98544","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98544","severity":null,"published_at":"2026-10-18T16:17:06+00:00","modified_at":"2026-10-21T13:21:32+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","fetched_at":"2026-10-23T22:28:56+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}