{"id":"CVE-2026-98967","kind":"vulnerability","aliases":["CVE-2026-98967"],"related":[],"title":"Linux kernel cxgb4 TLS offload can deadlock on XArray lock","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncxgb4/ch_ktls: disable softirqs around tid_list erases\n\nchcr_ktls_cpl_act_open_rpl() inserts into tid_list from the receive path\nusing xa_insert_bh().  The array is shared by the adapter's connections\nand initialized with XA_FLAGS_LOCK_BH.  However, chcr_ktls_dev_del() and\nthe chcr_ktls_dev_add() error path use xa_erase(), which takes the XArray\nlock without disabling softirqs.\n\nWhen cleanup runs with softirqs enabled, a receive softirq for another\nconnection on the same CPU can interrupt the erase and spin on the lock\nheld by the interrupted task.  Use xa_erase_bh() at both sites to match\nthe insertion path.","summary":"In the Linux kernel's cxgb4 Chelsio driver for kTLS offload, cleanup paths erase entries from a shared XArray without disabling softirqs, so a receive softirq on the same CPU can spin on a lock held by the interrupted task. The sources describe a lock-ordering hang, not code execution or data theft.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["chelsio-cxgb4","infrastructure","ktls","linux-kernel"],"not_affected_if":["ktls-offload-unused","no-chelsio-hardware"],"how_to_check":"- unknown","fix":"- Install a Linux kernel build that includes the upstream commit replacing xa_erase() with xa_erase_bh() in cxgb4/ch_ktls (unknown fixed version in sources)","status":"open","published_at":"2026-10-23T13:17:18+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:56:28+00:00","updated_at":"2026-10-25T04:56:28+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-10-25T04:56:28Z","model":"claude-haiku-5-5","output":{"fix":"- Install a Linux kernel build that includes the upstream commit replacing xa_erase() with xa_erase_bh() in cxgb4/ch_ktls (unknown fixed version in sources)","reach":"local","title":"Linux kernel cxgb4 TLS offload can deadlock on XArray lock","impact":"low","summary":"In the Linux kernel's cxgb4 Chelsio driver for kTLS offload, cleanup paths erase entries from a shared XArray without disabling softirqs, so a receive softirq on the same CPU can spin on a lock held by the interrupted task. The sources describe a lock-ordering hang, not code execution or data theft.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","chelsio-cxgb4","ktls"],"confidence":0.6,"needs_auth":"no","worst_case":"Kernel hangs from a softirq lock spin, causing denial of service","analyst_note":"Check the NVD entry and the upstream kernel commit to confirm the affected kernel version range and the fixed stable release.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["no-chelsio-hardware","ktls-offload-unused"],"who_is_affected":"Systems running a Linux kernel with the cxgb4 Chelsio network driver and kTLS inline offload enabled are the ones exposed. Hosts without Chelsio T4/T5/T6 adapters, or without kTLS offload in use, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000628,"input_tokens":3495,"output_tokens":556,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-98967':13A,16A 'act':99C 'adapt':120C 'add':140C 'anoth':164C 'around':92C 'array':115C 'bh':113C,129C,187C 'chcr':96C,131C,137C 'chelsio':18B,31B 'chelsio-cxgb4':17B 'cleanup':36B,155C 'code':74B 'connect':122C,165C 'cpl':98C 'cpu':54B,169C 'cve':11A,14A 'cxgb4':3A,19B,30B 'cxgb4/ch_ktls':89C 'data':77B 'deadlock':7A 'del':134C 'describ':67B 'dev':133C,139C 'disabl':45B,90C,152C 'driver':32B 'enabl':159C 'entri':39B 'eras':38B,95C,145C,173C,186C 'error':141C 'execut':75B 'flag':127C 'follow':84C 'hang':72B 'held':60B,179C 'howev':130C 'infrastructur':20B 'initi':124C 'insert':102C,112C,194C 'interrupt':63B,171C,182C 'kernel':2A,24B,28B,82C 'ktls':21B,34B,97C,132C,138C 'linux':1A,23B,27B,81C 'linux-kernel':22B 'list':94C,105C 'lock':10A,59B,70B,128C,150C,178C 'lock-ord':69B 'match':192C 'offload':5A,35B 'open':100C 'order':71B 'path':37B,109C,142C,195C 'receiv':49B,108C,161C 'resolv':88C 'rpl':101C 'run':156C 'share':42B,117C 'site':190C 'softirq':46B,50B,91C,153C,158C,162C 'sourc':66B 'spin':56B,175C 'take':147C 'task':64B,183C 'theft':78B 'tid':93C,104C 'tls':4A 'use':110C,143C,184C 'vulner':85C 'without':44B,151C 'xa':111C,126C,144C,185C 'xarray':9A,43B,149C","nicknames":[],"mitigations":[],"who_affected":"Systems running a Linux kernel with the cxgb4 Chelsio network driver and kTLS inline offload enabled are the ones exposed. Hosts without Chelsio T4/T5/T6 adapters, or without kTLS offload in use, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:18+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98967","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98967","severity":null,"published_at":"2026-10-23T13:17:18+00:00","modified_at":"2026-10-23T13:17:18+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+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"}