{"id":"CVE-2026-98666","kind":"vulnerability","aliases":["CVE-2026-98666"],"related":[],"title":"Linux kernel: adis16136 gyro driver debugfs read can use freed memory","description":"In the Linux kernel, the following vulnerability has been resolved:\n\niio: gyro: adis16136: fix unprotected debugfs reads\n\nThe serial_number file operations are open coded and never call\ndebugfs_file_get(), which debugfs_create_file_unsafe() requires.\ndebugfs_remove_recursive() therefore does not wait for a read in\nprogress, and unbind frees the iio_dev underneath it.\n\nUse debugfs_create_file() instead.","summary":"The adis16136 IIO gyroscope driver exposes a serial_number debugfs file whose read handlers skip the debugfs protection call, so a read in progress is not waited for when the driver unbinds. A read racing with unbind can then touch memory already freed, which can crash the kernel or lead to further memory corruption.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded","iio-drivers","infrastructure","linux-kernel"],"not_affected_if":["adis16136-not-loaded","debugfs-not-mounted"],"how_to_check":"- unknown","fix":"- Update the Linux kernel to a release containing the upstream fix that switches the adis16136 serial_number file to debugfs_create_file(); the fixed version is unknown from the sources.","status":"open","published_at":"2026-10-18T16:17:19+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","triaged_at":"2026-10-25T05:19:26+00:00","updated_at":"2026-10-25T05:19:26+00:00","category":"infrastructure","confidence":0.5,"triage":{"at":"2026-10-25T05:19:26Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release containing the upstream fix that switches the adis16136 serial_number file to debugfs_create_file(); the fixed version is unknown from the sources.","reach":"local","title":"Linux kernel: adis16136 gyro driver debugfs read can use freed memory","impact":"medium","summary":"The adis16136 IIO gyroscope driver exposes a serial_number debugfs file whose read handlers skip the debugfs protection call, so a read in progress is not waited for when the driver unbinds. A read racing with unbind can then touch memory already freed, which can crash the kernel or lead to further memory corruption.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","iio-drivers","embedded"],"confidence":0.5,"needs_auth":"yes","worst_case":"kernel memory use-after-free during driver unbind, possible crash","analyst_note":"Find the fixed kernel version and the upstream commit for the adis16136 debugfs change in the Linux stable tree or the NVD entry.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["adis16136-not-loaded","debugfs-not-mounted"],"who_is_affected":"Only systems that load the adis16136 gyroscope driver (CONFIG_ADIS16136 or the module) and have debugfs mounted are plausibly exposed; the driver is for a specific Analog Devices sensor, so most servers and general desktops can skip it. The sources do not say which kernel versions are affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000619,"input_tokens":3369,"output_tokens":565,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98666':14A,17A 'adis16136':3A,27B,92C 'alreadi':67B 'call':44B,107C 'code':104C 'corrupt':79B 'crash':71B 'creat':113C,139C 'cve':12A,15A 'debugf':6A,35B,42B,95C,108C,112C,117C,138C 'dev':134C 'driver':5A,21B,30B,56B 'embed':18B 'expos':31B 'file':36B,100C,109C,114C,140C 'fix':93C 'follow':85C 'free':131C 'freed':10A,68B 'get':110C 'gyro':4A,91C 'gyroscop':29B 'handler':39B 'iio':20B,28B,90C,133C 'iio-driv':19B 'infrastructur':22B 'instead':141C 'kernel':2A,25B,73B,83C 'lead':75B 'linux':1A,24B,82C 'linux-kernel':23B 'memori':11A,66B,78B 'never':106C 'number':34B,99C 'open':103C 'oper':101C 'progress':49B,128C 'protect':43B 'race':60B 'read':7A,38B,47B,59B,96C,126C 'recurs':119C 'remov':118C 'requir':116C 'resolv':89C 'serial':33B,98C 'skip':40B 'therefor':120C 'touch':65B 'unbind':57B,62B,130C 'underneath':135C 'unprotect':94C 'unsaf':115C 'use':9A,137C 'vulner':86C 'wait':52B,123C 'whose':37B","nicknames":[],"mitigations":[],"who_affected":"Only systems that load the adis16136 gyroscope driver (CONFIG_ADIS16136 or the module) and have debugfs mounted are plausibly exposed; the driver is for a specific Analog Devices sensor, so most servers and general desktops can skip it. The sources do not say which kernel versions are affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:19+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98666","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98666","severity":null,"published_at":"2026-10-18T16:17:19+00:00","modified_at":"2026-10-21T13:21:35+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"}