{"id":"CVE-2026-99147","kind":"vulnerability","aliases":["CVE-2026-99147"],"related":[],"title":"Linux kernel: DRM exec lock handling can corrupt memory via fence slots","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/exec: don't immediately add prelocked obj to array of locked objs\n\nWhen a contention is detected the drm_exec object grabs a reference to\nthe contended object, unlocks all other objects and pre-locks the\ncontended one before anything else.\n\nThe problem is that it is possible that this pre-locked object was about\nto be destroyed and drm_exec is now holding the last reference to it.\n\nSo we never actually see this pre-locked object again to be explicitly\nlocked and so also never reserve a slot for a dma_fence object on it.\n\nShould the driver now use drm_exec_for_each_locked_object() to add a new\nfence to all locked objects we eventually see a warning or even a\nBUG_ON() to prevent random memory corruption.\n\nFix this by keeping the prelocked object out of the array of locked objs\nuntil it was explicitly mentioned by the driver again.\n\nIf the prelocked object is never mentioned again by the driver\njust unlock and drop the reference at the end of the locking loop.","summary":"In the Linux kernel's DRM exec locking helper, a pre-locked object that is about to be destroyed can be left out of the locked-object array, so a driver adding fences to all locked objects may hit a warning or BUG_ON. The sources describe this as a potential memory corruption issue in the graphics driver stack.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["drm","gpu-drivers","infrastructure","linux-kernel"],"not_affected_if":["unknown"],"how_to_check":"- unknown","fix":"- Update the Linux kernel to a release that includes the upstream commit resolving 'drm/exec: don't immediately add prelocked obj to array of locked objs' (exact fixed version unknown from sources)","status":"open","published_at":"2026-10-28T11:17:34+00:00","first_seen_at":"2026-10-28T11:32:35+00:00","triaged_at":"2026-10-28T11:35:59+00:00","updated_at":"2026-10-28T11:35:59+00:00","category":"infrastructure","confidence":0.4,"triage":{"at":"2026-10-28T11:35:59Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the upstream commit resolving 'drm/exec: don't immediately add prelocked obj to array of locked objs' (exact fixed version unknown from sources)","reach":"local","title":"Linux kernel: DRM exec lock handling can corrupt memory via fence slots","impact":"high","summary":"In the Linux kernel's DRM exec locking helper, a pre-locked object that is about to be destroyed can be left out of the locked-object array, so a driver adding fences to all locked objects may hit a warning or BUG_ON. The sources describe this as a potential memory corruption issue in the graphics driver stack.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","drm","gpu-drivers"],"confidence":0.4,"needs_auth":"unknown","worst_case":"kernel memory corruption or a kernel BUG_ON crash","analyst_note":"Find the affected kernel version ranges and the fixed stable commits on the NVD page or kernel.org stable mailing list, and confirm which DRM drivers call drm_exec.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["unknown"],"who_is_affected":"Systems running Linux kernels with DRM graphics drivers that use the drm_exec locking helper and reserve fence slots on contended objects. The sources do not say which drivers or kernel versions are affected, so unknown whether a given machine is exposed.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000629,"input_tokens":3551,"output_tokens":548,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-99147':15A,18A 'actual':172C 'add':60B,102C,210C 'also':186C 'anyth':138C 'array':56B,106C,243C 'bug':71B,226C 'contend':124C,135C 'content':112C 'corrupt':8A,81B,232C 'cve':13A,16A 'describ':75B 'destroy':46B,157C 'detect':114C 'dma':193C 'driver':22B,59B,86B,200C,254C,266C 'drm':3A,19B,32B,116C,159C,203C 'drm/exec':98C 'drop':270C 'els':139C 'end':275C 'even':224C 'eventu':219C 'exec':4A,33B,117C,160C,204C 'explicit':182C,250C 'fenc':11A,61B,194C,213C 'fix':233C 'follow':93C 'gpu':21B 'gpu-driv':20B 'grab':119C 'graphic':85B 'handl':6A 'helper':35B 'hit':67B 'hold':163C 'immedi':101C 'infrastructur':23B 'issu':82B 'keep':236C 'kernel':2A,26B,30B,91C 'last':165C 'left':49B 'linux':1A,25B,29B,90C 'linux-kernel':24B 'lock':5A,34B,39B,54B,64B,108C,133C,151C,177C,183C,207C,216C,245C,278C 'locked-object':53B 'loop':279C 'may':66B 'memori':9A,80B,231C 'mention':251C,262C 'never':171C,187C,261C 'new':212C 'obj':104C,109C,246C 'object':40B,55B,65B,118C,125C,129C,152C,178C,195C,208C,217C,239C,259C 'one':136C 'possibl':146C 'potenti':79B 'pre':38B,132C,150C,176C 'pre-lock':37B,131C,149C,175C 'prelock':103C,238C,258C 'prevent':229C 'problem':141C 'random':230C 'refer':121C,166C,272C 'reserv':188C 'resolv':97C 'see':173C,220C 'slot':12A,190C 'sourc':74B 'stack':87B 'unlock':126C,268C 'use':202C 'via':10A 'vulner':94C 'warn':69B,222C","nicknames":[],"mitigations":[],"who_affected":"Systems running Linux kernels with DRM graphics drivers that use the drm_exec locking helper and reserve fence slots on contended objects. The sources do not say which drivers or kernel versions are affected, so unknown whether a given machine is exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:34+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99147","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99147","severity":null,"published_at":"2026-10-28T11:17:34+00:00","modified_at":"2026-10-28T11:17:34+00:00","first_seen_at":"2026-10-28T11:32:35+00:00","fetched_at":"2026-10-28T11:32:35+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"}