{"id":"CVE-2026-98944","kind":"vulnerability","aliases":["CVE-2026-98944"],"related":[],"title":"Linux kernel: Steam HID controller registration cleanup fixes leftover battery object","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: steam: Refactor registration\n\nThis refactors and simplifies the registration/unregistration flow. Since\nwe now only perform registration when the client isn't opened anymore, the\nlogic for handling that can be removed, and the rest of the function\nstreamlined.\n\nWe also remove the previous assumption that we have a serial number to show\nwe're registered, replacing it with a single purpose boolean.\n\nIn a previous refactor the code for unregistering a battery if later\nregistration steps failed was accidentally left out. As a result, a\nlingering power_supply object could get left over after the steam object\nwas torn down. This is also fixed here.","summary":"A refactor of the Linux kernel's Steam HID driver streamlines controller registration and fixes a missed unregistration of the battery power_supply object when later steps fail. The sources describe a reliability fix that leaves a stale power supply object after the Steam controller driver is torn down, and do not describe an attacker gaining access.","severity":"unknown","cvss":null,"epss":0.00209,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","kernel","linux","steam-controller"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-23T13:17:15+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:57:58+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"infrastructure","confidence":0.4,"triage":{"at":"2026-10-25T04:57:58Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: Steam HID controller registration cleanup fixes leftover battery object","impact":"low","summary":"A refactor of the Linux kernel's Steam HID driver streamlines controller registration and fixes a missed unregistration of the battery power_supply object when later steps fail. The sources describe a reliability fix that leaves a stale power supply object after the Steam controller driver is torn down, and do not describe an attacker gaining access.","category":"infrastructure","nicknames":[],"who_cares":["linux","kernel","steam-controller"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown","analyst_note":"Check the NVD entry and the upstream kernel stable commits for the affected kernel versions and the exact security impact.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000522,"input_tokens":3427,"output_tokens":359,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98944':14A,17A 'access':80B 'accident':170C 'also':131C,194C 'anymor':114C 'assumpt':135C 'attack':78B 'batteri':10A,44B,163C 'boolean':153C 'cleanup':7A 'client':110C 'code':159C 'control':5A,23B,35B,68B 'could':181C 'cve':12A,15A 'describ':54B,76B 'driver':33B,69B 'fail':51B,168C 'fix':8A,38B,57B,195C 'flow':101C 'follow':86C 'function':128C 'gain':79B 'get':182C 'handl':118C 'hid':4A,32B,91C 'infrastructur':18B 'isn':111C 'kernel':2A,19B,29B,84C 'later':49B,165C 'leav':59B 'left':171C,183C 'leftov':9A 'linger':177C 'linux':1A,20B,28B,83C 'logic':116C 'miss':40B 'number':141C 'object':11A,47B,64B,180C,188C 'open':113C 'perform':106C 'power':45B,62B,178C 'previous':134C,156C 'purpos':152C 're':145C 'refactor':25B,93C,96C,157C 'regist':146C 'registr':6A,36B,94C,107C,166C 'registration/unregistration':100C 'reliabl':56B 'remov':122C,132C 'replac':147C 'resolv':90C 'rest':125C 'result':175C 'serial':140C 'show':143C 'simplifi':98C 'sinc':102C 'singl':151C 'sourc':53B 'stale':61B 'steam':3A,22B,31B,67B,92C,187C 'steam-control':21B 'step':50B,167C 'streamlin':34B,129C 'suppli':46B,63B,179C 'torn':71B,190C 'unregist':161C 'unregistr':41B 'vulner':87C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:15+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98944","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98944","severity":null,"published_at":"2026-10-23T13:17:15+00:00","modified_at":"2026-10-23T13:17:15+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-98944","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-98944","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"}