{"id":"CVE-2026-99190","kind":"vulnerability","aliases":["CVE-2026-99190"],"related":[],"title":"Linux kernel GPIO: memory leak on error path in array value setting","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ngpiolib: fix memory leak in gpiod_set_array_value_complex() on error paths\n\nA drive-by review by Sashiko reports that, after a failed call to\ngpiochip_set_multiple(), gpiod_set_array_value() returns abruptly,\nbypassing the freeing of possibly alloced bitmaps, potentially leaking\nmemory. It is an unlikely error path, but is possible.\n\nDefer the return code check until after the bitmap_free() block.","summary":"In the Linux kernel's GPIO library, a failed gpiochip_set_multiple() call makes gpiod_set_array_value_complex() return early and skip freeing temporary bitmaps. The result is a kernel memory leak on an uncommon error path, with no direct code execution described.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded","gpio","infrastructure","linux-kernel"],"not_affected_if":["default-config"],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-28T11:17:39+00:00","first_seen_at":"2026-10-28T11:32:37+00:00","triaged_at":"2026-10-28T11:34:13+00:00","updated_at":"2026-10-28T11:34:13+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-10-28T11:34:13Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel GPIO: memory leak on error path in array value setting","impact":"low","summary":"In the Linux kernel's GPIO library, a failed gpiochip_set_multiple() call makes gpiod_set_array_value_complex() return early and skip freeing temporary bitmaps. The result is a kernel memory leak on an uncommon error path, with no direct code execution described.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","gpio","embedded"],"confidence":0.6,"needs_auth":"unknown","worst_case":"kernel memory leaks on a rare GPIO error path","analyst_note":"Find the kernel commit and the affected stable versions from the NVD entry (https://nvd.nist.gov/vuln/detail/CVE-2026-99190) to fill in versions and the fix.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["default-config"],"who_is_affected":"Systems running Linux kernels that include the gpiolib change that adds the early return; the sources do not name affected versions. The bug only fires when gpiochip_set_multiple() fails, which the source calls unlikely, so it mainly matters to hosts that drive many GPIO lines through the array API. Hosts without GPIO hardware or with a kernel that has the fix can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000592,"input_tokens":3384,"output_tokens":507,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-99190':15A,18A 'abrupt':114C 'alloc':120C 'array':10A,41B,86C,111C 'bitmap':50B,121C,142C 'block':144C 'bypass':115C 'call':37B,104C 'check':138C 'code':66B,137C 'complex':43B,88C 'cve':13A,16A 'defer':134C 'describ':68B 'direct':65B 'drive':94C 'drive-bi':93C 'earli':45B 'embed':19B 'error':7A,61B,90C,129C 'execut':67B 'fail':33B,103C 'fix':80C 'follow':74C 'free':48B,117C,143C 'gpio':3A,20B,30B 'gpiochip':34B,106C 'gpiod':39B,84C,109C 'gpiolib':79C 'infrastructur':21B 'kernel':2A,24B,28B,55B,72C 'leak':5A,57B,82C,123C 'librari':31B 'linux':1A,23B,27B,71C 'linux-kernel':22B 'make':38B 'memori':4A,56B,81C,124C 'multipl':36B,108C 'path':8A,62B,91C,130C 'possibl':119C,133C 'potenti':122C 'report':99C 'resolv':78C 'result':52B 'return':44B,113C,136C 'review':96C 'sashiko':98C 'set':12A,35B,40B,85C,107C,110C 'skip':47B 'temporari':49B 'uncommon':60B 'unlik':128C 'valu':11A,42B,87C,112C 'vulner':75C","nicknames":[],"mitigations":[],"who_affected":"Systems running Linux kernels that include the gpiolib change that adds the early return; the sources do not name affected versions. The bug only fires when gpiochip_set_multiple() fails, which the source calls unlikely, so it mainly matters to hosts that drive many GPIO lines through the array API. Hosts without GPIO hardware or with a kernel that has the fix can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:39+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99190","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99190","severity":null,"published_at":"2026-10-28T11:17:39+00:00","modified_at":"2026-10-28T11:17:39+00:00","first_seen_at":"2026-10-28T11:32:37+00:00","fetched_at":"2026-10-28T11:32:37+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"}