{"id":"CVE-2026-98489","kind":"vulnerability","aliases":["CVE-2026-98489"],"related":[],"title":"Linux kernel atl1c driver: soft lockup on out-of-range tx completion index","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atl1c: fix soft lockup on out-of-range tpd_cons read\n\nThe hardware can report an out-of-range tpd_cons (seen as 0xffff)\nwhile the PCIe link/MAC is resetting. An out-of-range value can\nnever be reached and the loop below would spin forever. To avoid\na soft lockup treat it as \"nothing new to clean\" instead.\n\nReproduced on two machines, same NIC (Qualcomm Atheros AR8151 v2.0,\n4-port), triggered by rebooting a Mikrotik CCR2004 PCIe card that\nthe ports are directly linked to:\n\n- Ubuntu 26.04.1 LTS, kernel 7.0.0-31-generic. The link-flap\n  precursor, before the lockup was captured with a full trace\n  elsewhere:\n\n    atl1c 0000:05:00.0 enp5s0f0: NETDEV WATCHDOG: CPU: 4: transmit queue 2 timed out 489984 ms\n    atl1c 0000:05:00.0: MAC state machine can't be idle since disabled for 10ms second\n    atl1c 0000:05:00.0: atl1c: enp5s0f0 NIC Link is Up<65535 Mbps Full Duplex>\n\n  65535 (0xffff) here is the same value tpd_cons reads back once the\n  loop below gets stuck.\n\n- Proxmox VE, kernel 7.0.14-11-pve. Same NIC/trigger, this time\n  caught by the soft lockup watchdog with a full stack trace:\n\n    watchdog: BUG: soft lockup - CPU#12 stuck for 354s! [napi/eth%d-0:329]\n    CPU: 12 UID: 0 PID: 329 Comm: napi/eth%d-0 Tainted: P O L 7.0.14-11-pve #1 PREEMPT(lazy)\n    RIP: 0010:atl1c_clean_tx+0x142/0x2d0 [atl1c]\n    Call Trace:\n     <TASK>\n     __napi_poll+0x32/0x1e0\n     napi_threaded_poll_loop+0x286/0x2e0\n     napi_threaded_poll+0xfd/0x140\n     kthread+0xf7/0x130\n     ret_from_fork+0x2da/0x3a0\n     ret_from_fork_asm+0x1a/0x30\n     </TASK>","summary":"The atl1c Ethernet driver for Qualcomm Atheros AR8151 NICs can spin forever in its transmit cleanup loop when the hardware reports an out-of-range completion index while the PCIe link resets. The result is a soft lockup that hangs a CPU; the sources describe a denial of service, not code execution.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["atl1c","ethernet","infrastructure","kernel","linux","proxmox","self-hosted"],"not_affected_if":["no-atl1c-nic"],"how_to_check":"- Run `uname -r` and check whether the kernel predates the fix; the sources do not name the fixed kernel version.\n- Run `lspci -nn | grep -i atheros` to see whether an AR8151 (atl1c) NIC is present.\n- Run `lsmod | grep atl1c` to confirm the atl1c driver is loaded.\n- Check `dmesg` for 'soft lockup' or 'atl1c' transmit timeout messages.","fix":"- Update the Linux kernel to a release that includes the upstream atl1c fix (the sources do not list the exact version).\n- Until patched, unknown mitigation; the sources do not say.","status":"open","published_at":"2026-10-18T16:16:59+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:25:45+00:00","updated_at":"2026-10-25T05:25:45+00:00","category":"infrastructure","confidence":0.7,"triage":{"at":"2026-10-25T05:25:45Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the upstream atl1c fix (the sources do not list the exact version).\n- Until patched, unknown mitigation; the sources do not say.","reach":"local","title":"Linux kernel atl1c driver: soft lockup on out-of-range tx completion index","impact":"low","summary":"The atl1c Ethernet driver for Qualcomm Atheros AR8151 NICs can spin forever in its transmit cleanup loop when the hardware reports an out-of-range completion index while the PCIe link resets. The result is a soft lockup that hangs a CPU; the sources describe a denial of service, not code execution.","category":"infrastructure","nicknames":[],"who_cares":["linux","kernel","atl1c","ethernet","self-hosted","proxmox"],"confidence":0.7,"needs_auth":"no","worst_case":"A CPU core hangs in a soft lockup, causing denial of service on the host","analyst_note":"","how_to_check":"- Run `uname -r` and check whether the kernel predates the fix; the sources do not name the fixed kernel version.\n- Run `lspci -nn | grep -i atheros` to see whether an AR8151 (atl1c) NIC is present.\n- Run `lsmod | grep atl1c` to confirm the atl1c driver is loaded.\n- Check `dmesg` for 'soft lockup' or 'atl1c' transmit timeout messages.","needs_analyst":false,"not_affected_if":["no-atl1c-nic"],"who_is_affected":"Only machines with an Atheros AR8151 (atl1c driver) network card are exposed, and the trigger seen was a PCIe link reset such as rebooting a directly linked device. Hosts using other NICs or virtual network devices are not affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000729,"input_tokens":4043,"output_tokens":650,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'+0':327C,334C,340C,345C,348C,353C,359C '-0':300C,311C '-11':272C,317C '-2026':16A,19A '-31':188C '-98489':17A,20A '0':305C '00.0':208C,224C,240C '0000':206C,222C,238C '0010':323C '05':207C,223C,239C '0xffff':119C,252C '1':319C '10ms':235C '12':294C,303C '2':216C '26.04.1':184C '329':301C,307C '354s':297C '4':166C,213C '489984':219C '65535':247C,251C '7.0.0':187C '7.0.14':271C,316C 'ar8151':37B,164C 'asm':358C 'athero':36B,163C 'atl1c':3A,21B,31B,94C,205C,221C,237C,241C,324C,329C 'avoid':144C 'back':261C 'bug':290C 'call':330C 'captur':199C 'card':175C 'caught':278C 'ccr2004':173C 'clean':154C,325C 'cleanup':45B 'code':81B 'comm':308C 'complet':13A,56B 'con':104C,116C,259C 'cpu':72B,212C,293C,302C 'cve':15A,18A 'd':299C,310C 'denial':77B 'describ':75B 'direct':180C 'disabl':233C 'driver':4A,33B 'duplex':250C 'elsewher':204C 'enp5s0f0':209C,242C 'ethernet':22B,32B 'execut':82B 'fix':95C 'flap':193C 'follow':88C 'forev':41B,142C 'fork':352C,357C 'full':202C,249C,286C 'generic':189C 'get':266C 'hang':70B 'hardwar':49B,107C 'host':29B 'idl':231C 'index':14A,57B 'infrastructur':23B 'instead':155C 'kernel':2A,24B,86C,186C,270C 'kthread':347C 'l':315C 'lazi':321C 'link':61B,181C,192C,244C 'link-flap':191C 'link/mac':123C 'linux':1A,25B,85C 'lockup':6A,68B,97C,147C,197C,282C,292C 'loop':46B,138C,264C,339C 'lts':185C 'mac':225C 'machin':159C,227C 'mbps':248C 'mikrotik':172C 'ms':220C 'napi':332C,336C,342C 'napi/eth':298C,309C 'net':93C 'netdev':210C 'never':133C 'new':152C 'nic':38B,161C,243C 'nic/trigger':275C 'noth':151C 'o':314C 'out-of-rang':8A,52B,99C,111C,127C 'p':313C 'pcie':60B,122C,174C 'pid':306C 'poll':333C,338C,344C 'port':167C,178C 'precursor':194C 'preempt':320C 'proxmox':26B,268C 'pve':273C,318C 'qualcomm':35B,162C 'queue':215C 'rang':11A,55B,102C,114C,130C 'reach':135C 'read':105C,260C 'reboot':170C 'report':50B,109C 'reproduc':156C 'reset':62B,125C 'resolv':92C 'result':64B 'ret':350C,355C 'rip':322C 'second':236C 'seen':117C 'self':28B 'self-host':27B 'servic':79B 'sinc':232C 'soft':5A,67B,96C,146C,281C,291C 'sourc':74B 'spin':40B,141C 'stack':287C 'state':226C 'stuck':267C,295C 'taint':312C 'thread':337C,343C 'time':217C,277C 'tpd':103C,115C,258C 'trace':203C,288C,331C 'transmit':44B,214C 'treat':148C 'trigger':168C 'two':158C 'tx':12A,326C 'ubuntu':183C 'uid':304C 'v2.0':165C 'valu':131C,257C 've':269C 'vulner':89C 'watchdog':211C,283C,289C 'would':140C 'x142/0x2d0':328C 'x1a/0x30':360C 'x286/0x2e0':341C 'x2da/0x3a0':354C 'x32/0x1e0':335C 'xf7/0x130':349C 'xfd/0x140':346C","nicknames":[],"mitigations":[],"who_affected":"Only machines with an Atheros AR8151 (atl1c driver) network card are exposed, and the trigger seen was a PCIe link reset such as rebooting a directly linked device. Hosts using other NICs or virtual network devices are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:16:59+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98489","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98489","severity":null,"published_at":"2026-10-18T16:16:59+00:00","modified_at":"2026-10-19T10:19:00+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"}