{"id":"CVE-2026-99172","kind":"vulnerability","aliases":["CVE-2026-99172"],"related":[],"title":"Linux kernel: failed IPC namespace setup leaks the mqueue mount","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nipc: drop the mqueue mount with kern_unmount() on setup failure\n\nmq_init_ns() creates the mqueue mount with fc_mount_longterm(), so its\n->mnt_ns is MNT_NS_INTERNAL. When setting up the mqueue or ipc sysctls\nor msg_init_ns() fails afterwards, create_ipc_ns() drops it with a plain\nmntput(). With ->mnt_ns set that takes the fast path of\nmntput_no_expire(). The count drops to zero and nothing ever kills the\nmount, so the mount and the mqueue superblock are leaked.\n\nCommit dc55e35f9e81 (\"ipc: Store mqueue sysctls in the ipc namespace\")\nadded the first failure path after mq_init_ns() and never dropped the\nmount. Commit 7229d74e5e8c (\"ipc: create_ipc_ns: drop mqueue mount on\nsysctl setup failure\") tried to fix that with a mntput() but that\ndoesn't help for a long-term mount.\n\nUse kern_unmount(). free_ipc() open-codes the same thing for a namespace\nthat made it.","summary":"When creating an IPC namespace fails partway through setup, the kernel drops the mqueue mount with a plain mntput(), which does not actually release a long-term mount. The mount and its mqueue superblock are leaked, so the failure path wastes kernel memory.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["containers","linux-kernel","runtime"],"not_affected_if":["no-ipc-namespaces"],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-28T11:17:37+00:00","first_seen_at":"2026-10-28T11:32:36+00:00","triaged_at":"2026-10-28T11:35:34+00:00","updated_at":"2026-10-28T11:35:34+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-28T11:35:34Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: failed IPC namespace setup leaks the mqueue mount","impact":"low","summary":"When creating an IPC namespace fails partway through setup, the kernel drops the mqueue mount with a plain mntput(), which does not actually release a long-term mount. The mount and its mqueue superblock are leaked, so the failure path wastes kernel memory.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","containers"],"confidence":0.6,"needs_auth":"unknown","worst_case":"kernel memory leaks when IPC namespace creation fails","analyst_note":"Find the fixed kernel versions and the upstream commit in the NVD entry or kernel.org stable mailing list.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["no-ipc-namespaces"],"who_is_affected":"Linux kernel builds that include the IPC mqueue namespace code and create IPC namespaces, such as container runtimes that use new IPC namespaces. Systems without IPC namespace creation are unaffected. The sources do not name fixed kernel versions.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.00058,"input_tokens":3618,"output_tokens":436,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-99172':13A,16A '7229d74e5e8c':187C 'actual':44B 'add':172C 'afterward':119C 'code':224C 'commit':162C,186C 'contain':17B 'count':143C 'creat':23B,90C,120C,189C 'cve':11A,14A 'dc55e35f9e81':163C 'doesn':208C 'drop':33B,77C,123C,144C,183C,192C 'ever':149C 'expir':141C 'fail':3A,27B,118C 'failur':61B,86C,175C,198C 'fast':136C 'fc':95C 'first':174C 'fix':201C 'follow':71C 'free':220C 'help':210C 'init':88C,116C,179C 'intern':105C 'ipc':4A,25B,76C,112C,121C,164C,170C,188C,190C,221C 'kern':82C,218C 'kernel':2A,20B,32B,64B,69C 'kill':150C 'leak':7A,58B,161C 'linux':1A,19B,68C 'linux-kernel':18B 'long':48B,214C 'long-term':47B,213C 'longterm':97C 'made':232C 'memori':65B 'mnt':100C,103C,130C 'mntput':40B,128C,139C,205C 'mount':10A,36B,50B,52B,80C,93C,96C,152C,155C,185C,194C,216C 'mq':87C,178C 'mqueue':9A,35B,55B,79C,92C,110C,158C,166C,193C 'msg':115C 'namespac':5A,26B,171C,230C 'never':182C 'noth':148C 'ns':89C,101C,104C,117C,122C,131C,180C,191C 'open':223C 'open-cod':222C 'partway':28B 'path':62B,137C,176C 'plain':39B,127C 'releas':45B 'resolv':75C 'runtim':21B 'set':107C,132C 'setup':6A,30B,85C,197C 'store':165C 'superblock':56B,159C 'sysctl':113C,167C,196C 'take':134C 'term':49B,215C 'thing':227C 'tri':199C 'unmount':83C,219C 'use':217C 'vulner':72C 'wast':63B 'zero':146C","nicknames":[],"mitigations":[],"who_affected":"Linux kernel builds that include the IPC mqueue namespace code and create IPC namespaces, such as container runtimes that use new IPC namespaces. Systems without IPC namespace creation are unaffected. The sources do not name fixed kernel versions.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:37+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99172","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99172","severity":null,"published_at":"2026-10-28T11:17:37+00:00","modified_at":"2026-10-28T11:17:37+00:00","first_seen_at":"2026-10-28T11:32:36+00:00","fetched_at":"2026-10-28T11:32:36+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"}