{"id":"CVE-2026-99187","kind":"vulnerability","aliases":["CVE-2026-99187"],"related":[],"title":"Linux kernel perf: PMU migration leaves events behind during CPU hotplug","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf: Fix perf_pmu_migrate_context() leaving events behind\n\n__perf_pmu_remove() walks the group leaders of a CPU and PMU with\nperf_event_groups_for_cpu_pmu(), removing each one as it goes.\nperf_remove_from_context() takes the leader out of the groups rbtree,\nafter which rb_next() on that node returns NULL, prematurely ending the\nwalk. Other groups stay behind in the source context.\n\nOn CPU hotplug, they are then torn down with the dying CPU. They keep\nrunning until teardown, while the PMU's interrupt and migrated events\nare on a new CPU, which drivers rely on never happening.\n\nWalk ctx->event_list instead and pick out the PMU's events by their\npmu_ctx.","summary":"When a CPU is hotplugged, the kernel's perf subsystem can fail to move all of a PMU's performance events to another CPU, leaving some running on the dying CPU. The sources do not describe a direct way for an attacker to gain code execution or data access.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","kernel","linux","perf"],"not_affected_if":[],"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:16+00:00","updated_at":"2026-10-28T11:34:16+00:00","category":"infrastructure","confidence":0.4,"triage":{"at":"2026-10-28T11:34:16Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel perf: PMU migration leaves events behind during CPU hotplug","impact":"low","summary":"When a CPU is hotplugged, the kernel's perf subsystem can fail to move all of a PMU's performance events to another CPU, leaving some running on the dying CPU. The sources do not describe a direct way for an attacker to gain code execution or data access.","category":"infrastructure","nicknames":[],"who_cares":["linux","kernel","perf"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown; sources describe a correctness bug in perf event migration","analyst_note":"Check the NVD entry and the upstream kernel commit for affected version ranges, whether perf access is restricted to privileged users, and whether any security impact is stated.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000533,"input_tokens":3493,"output_tokens":367,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-99187':14A,17A 'access':70B 'anoth':44B 'attack':63B 'behind':8A,89C,143C 'code':66B 'context':86C,118C,147C 'cpu':10A,24B,45B,52B,99C,107C,149C,159C,177C 'ctx':185C,199C 'cve':12A,15A 'data':69B 'describ':57B 'die':51B,158C 'direct':59B 'driver':179C 'end':137C 'event':7A,42B,88C,104C,172C,186C,195C 'execut':67B 'fail':33B 'fix':82C 'follow':76C 'gain':65B 'goe':114C 'group':95C,105C,125C,141C 'happen':183C 'hotplug':11A,26B,150C 'infrastructur':18B 'instead':188C 'interrupt':169C 'keep':161C 'kernel':2A,19B,28B,74C 'leader':96C,121C 'leav':6A,46B,87C 'linux':1A,20B,73C 'list':187C 'migrat':5A,85C,171C 'move':35B 'never':182C 'new':176C 'next':130C 'node':133C 'null':135C 'one':111C 'perf':3A,21B,30B,81C,83C,90C,103C,115C 'perform':41B 'pick':190C 'pmu':4A,39B,84C,91C,101C,108C,167C,193C,198C 'prematur':136C 'rb':129C 'rbtree':126C 'reli':180C 'remov':92C,109C,116C 'resolv':80C 'return':134C 'run':48B,162C 'sourc':54B,146C 'stay':142C 'subsystem':31B 'take':119C 'teardown':164C 'torn':154C 'vulner':77C 'walk':93C,139C,184C 'way':60B","nicknames":[],"mitigations":[],"who_affected":null,"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-99187","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99187","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"}