{"id":"CVE-2026-99049","kind":"vulnerability","aliases":["CVE-2026-99049"],"related":[],"title":"Linux kernel: Xilinx GPIO error path leaks power reference, blocks suspend","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ngpio: xilinx: fix runtime PM leak on request error path\n\npm_runtime_get_sync() leaves the usage counter incremented even when it\nfails, and xgpio_request() returns the error without dropping it.\n\ngpiolib does not call ->free() when ->request() fails, so xgpio_free(),\nwhich holds the only matching pm_runtime_put(), never runs. The reference\nis leaked and the controller can no longer runtime-suspend, so its clock\nstays enabled.\n\nSwitch to pm_runtime_resume_and_get(), which only increments the usage\ncounter on success.","summary":"In the Linux kernel's Xilinx GPIO driver, a failed request leaves the runtime power-management usage counter raised, because the matching release never runs. The controller then cannot runtime-suspend and its clock stays enabled, which wastes power and can stall power management rather than giving an attacker code execution.","severity":"low","cvss":null,"epss":0.00209,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded","linux-kernel","runtime","xilinx-gpio"],"not_affected_if":["no-xilinx-gpio-hardware"],"how_to_check":"- unknown","fix":"- Update the Linux kernel to a release that includes the upstream commit 'gpio: xilinx: fix runtime PM leak on request error path' (the fix switches to pm_runtime_resume_and_get()); exact fixed version numbers are not given in the sources.","status":"open","published_at":"2026-10-23T13:17:28+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:54:05+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T04:54:05Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the upstream commit 'gpio: xilinx: fix runtime PM leak on request error path' (the fix switches to pm_runtime_resume_and_get()); exact fixed version numbers are not given in the sources.","reach":"local","title":"Linux kernel: Xilinx GPIO error path leaks power reference, blocks suspend","impact":"low","summary":"In the Linux kernel's Xilinx GPIO driver, a failed request leaves the runtime power-management usage counter raised, because the matching release never runs. The controller then cannot runtime-suspend and its clock stays enabled, which wastes power and can stall power management rather than giving an attacker code execution.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","embedded","xilinx-gpio"],"confidence":0.6,"needs_auth":"unknown","worst_case":"power management leak keeps GPIO clock enabled; no code execution","analyst_note":"","how_to_check":"- unknown","needs_analyst":false,"not_affected_if":["no-xilinx-gpio-hardware"],"who_is_affected":"Systems running a Linux kernel with the Xilinx GPIO driver on Xilinx/AMD platforms that use runtime power management for that GPIO controller. Systems without Xilinx GPIO hardware or with a patched kernel can skip it. The sources do not say which kernel versions are affected.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000609,"input_tokens":3429,"output_tokens":533,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-99049':14A,17A 'attack':76B 'block':10A 'call':124C 'cannot':55B 'clock':61B,157C 'code':77B 'control':53B,148C 'counter':44B,106C,172C 'cve':12A,15A 'driver':33B 'drop':119C 'embed':18B 'enabl':63B,159C 'error':5A,97C,117C 'even':108C 'execut':78B 'fail':35B,111C,128C 'fix':91C 'follow':84C 'free':125C,131C 'get':101C,166C 'give':74B 'gpio':4A,25B,32B,89C 'gpiolib':121C 'hold':133C 'increment':107C,169C 'kernel':2A,21B,29B,82C 'leak':7A,94C,145C 'leav':37B,103C 'linux':1A,20B,28B,81C 'linux-kernel':19B 'longer':151C 'manag':42B,71B 'match':48B,136C 'never':50B,140C 'path':6A,98C 'pm':93C,99C,137C,162C 'power':8A,41B,66B,70B 'power-manag':40B 'put':139C 'rais':45B 'rather':72B 'refer':9A,143C 'releas':49B 'request':36B,96C,114C,127C 'resolv':88C 'resum':164C 'return':115C 'run':51B,141C 'runtim':22B,39B,57B,92C,100C,138C,153C,163C 'runtime-suspend':56B,152C 'stall':69B 'stay':62B,158C 'success':174C 'suspend':11A,58B,154C 'switch':160C 'sync':102C 'usag':43B,105C,171C 'vulner':85C 'wast':65B 'without':118C 'xgpio':113C,130C 'xilinx':3A,24B,31B,90C 'xilinx-gpio':23B","nicknames":[],"mitigations":[],"who_affected":"Systems running a Linux kernel with the Xilinx GPIO driver on Xilinx/AMD platforms that use runtime power management for that GPIO controller. Systems without Xilinx GPIO hardware or with a patched kernel 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-23T13:17:28+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99049","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99049","severity":null,"published_at":"2026-10-23T13:17:28+00:00","modified_at":"2026-10-23T13:17:28+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-99049","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-99049","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:50+00:00","fetched_at":"2026-10-25T12:38:50+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"}