{"id":"CVE-2026-98748","kind":"vulnerability","aliases":["CVE-2026-98748"],"related":[],"title":"Linux kernel: serial BCM7271 driver use-after-free on UART removal","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nserial: 8250_bcm7271: fix use-after-free in brcmuart_remove()\n\nbrcmuart_handle_irq() starts priv->hrt to work around a receive-timeout\nquirk of the 8250 core when hardware flow control is enabled; the timer\ncallback brcmuart_hrtimer_func() dereferences priv.\n\nbrcmuart_remove() cancels the hrtimer before it unregisters the port, so\na receive-timeout interrupt that arrives in between re-arms the timer.\nAfter devm frees priv, the callback runs on freed memory.\n\nUnregister the port before cancelling the hrtimer.\nserial8250_unregister_port() shuts the port down and frees its IRQ, so\nbrcmuart_handle_irq() can no longer restart the timer, and the final\nhrtimer_cancel() drains any timer that was armed before or during the\nunregister.\n\nThis issue was found by an in-house static analysis tool.","summary":"In the Linux kernel's BCM7271 8250 serial driver, a receive-timeout interrupt during device removal can re-arm a timer after its private data has been freed. The timer callback then runs on freed memory, which can crash the kernel or be abused for memory corruption.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["broadcom-stb","embedded","linux-kernel","package"],"not_affected_if":["hardware-flow-control-disabled","no-bcm7271-uart"],"how_to_check":"- unknown","fix":"- Update to a Linux kernel release that includes the upstream fix 'serial: 8250_bcm7271: fix use-after-free in brcmuart_remove()' (the fixed version is not named in the sources)","status":"open","published_at":"2026-10-18T16:17:28+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","triaged_at":"2026-10-25T05:16:58+00:00","updated_at":"2026-10-25T05:16:58+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T05:16:58Z","model":"claude-haiku-5-5","output":{"fix":"- Update to a Linux kernel release that includes the upstream fix 'serial: 8250_bcm7271: fix use-after-free in brcmuart_remove()' (the fixed version is not named in the sources)","reach":"local","title":"Linux kernel: serial BCM7271 driver use-after-free on UART removal","impact":"medium","summary":"In the Linux kernel's BCM7271 8250 serial driver, a receive-timeout interrupt during device removal can re-arm a timer after its private data has been freed. The timer callback then runs on freed memory, which can crash the kernel or be abused for memory corruption.","category":"package","nicknames":[],"who_cares":["linux-kernel","embedded","broadcom-stb"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Kernel memory use-after-free on the device, possible crash or corruption","analyst_note":"Check the upstream kernel commit and stable backports for the fixed versions and whether the bug is reachable without a local trigger.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["no-bcm7271-uart","hardware-flow-control-disabled"],"who_is_affected":"Systems running a Linux kernel with the bcm7271 8250 serial driver, typically Broadcom STB set-top and embedded boards that use this UART with hardware flow control enabled. The bug only shows up when the port is removed while receive-timeout interrupts are arriving, so most servers and desktops are unaffected. unknown beyond this.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000637,"input_tokens":3545,"output_tokens":564,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-98748':15A,18A '8250':33B,87C,113C 'abus':72B 'analysi':218C 'arm':47B,151C,202C 'around':105C 'arriv':146C 'bcm7271':4A,32B,88C 'brcmuart':95C,97C,124C,129C,183C 'broadcom':20B 'broadcom-stb':19B 'callback':59B,123C,159C 'cancel':131C,168C,196C 'control':118C 'core':114C 'corrupt':75B 'crash':67B 'cve':13A,16A 'data':53B 'derefer':127C 'devic':42B 'devm':155C 'drain':197C 'driver':5A,35B 'embed':22B 'enabl':120C 'final':194C 'fix':89C 'flow':117C 'follow':81C 'found':211C 'free':9A,93C,156C,179C 'freed':56B,63B,162C 'func':126C 'handl':98C,184C 'hardwar':116C 'hous':216C 'hrt':102C 'hrtimer':125C,133C,170C,195C 'in-hous':214C 'interrupt':40B,144C 'irq':99C,181C,185C 'issu':209C 'kernel':2A,25B,30B,69B,79C 'linux':1A,24B,29B,78C 'linux-kernel':23B 'longer':188C 'memori':64B,74B,163C 'packag':26B 'port':138C,166C,173C,176C 'priv':101C,128C,157C 'privat':52B 'quirk':110C 're':46B,150C 're-arm':45B,149C 'receiv':38B,108C,142C 'receive-timeout':37B,107C,141C 'remov':12A,43B,96C,130C 'resolv':85C 'restart':189C 'run':61B,160C 'serial':3A,34B,86C 'serial8250':171C 'shut':174C 'start':100C 'static':217C 'stb':21B 'timeout':39B,109C,143C 'timer':49B,58B,122C,153C,191C,199C 'tool':219C 'uart':11A 'unregist':136C,164C,172C,207C 'use':7A,91C 'use-after-fre':6A,90C 'vulner':82C 'work':104C","nicknames":[],"mitigations":[],"who_affected":"Systems running a Linux kernel with the bcm7271 8250 serial driver, typically Broadcom STB set-top and embedded boards that use this UART with hardware flow control enabled. The bug only shows up when the port is removed while receive-timeout interrupts are arriving, so most servers and desktops are unaffected. unknown beyond this.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:28+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98748","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98748","severity":null,"published_at":"2026-10-18T16:17:28+00:00","modified_at":"2026-10-21T13:21:42+00:00","first_seen_at":"2026-10-23T21:57:16+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"}