{"id":"CVE-2026-99181","kind":"vulnerability","aliases":["CVE-2026-99181"],"related":[],"title":"Linux autofs: stale pipe write error can wrongly freeze mounts","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nautofs: ignore notification errors from a replaced pipe\n\nautofs_notify_daemon() takes a reference to the current notification\npipe under wq_mutex, then drops the mutex before writing the request. The\nwrite can block while the daemon enters catatonic mode and installs a\nreplacement pipe.\n\nIf the old pipe's reader is then closed, the delayed write returns -EPIPE\nand the generic error path enters catatonic mode again. That transition\nacts on the current superblock state, closes the replacement pipe, and\nreleases the new daemon generation's wait queues.\n\nOnly enter catatonic mode when the pipe which failed is still the current\npipe. Factor the already-locked transition so the identity check and state\nchange are atomic with respect to another replacement.\n\nThis was reproduced on v7.3-rc5-337-gff47652a4b66c in a local QEMU guest.\nAn unprivileged UID 65534 lookup filled the old packet pipe before a\nnormal CATATONIC/SETPIPEFD restart. On the unmodified kernel, the new pipe\nreceived HUP and both a pending victim lookup and a later lookup failed\nwith ENOENT in two out of two fresh-mount runs.\n\nWith this change, the new pipe remained active, received an intact\n304-byte request, and both victim lookups completed in two out of two\nruns. Normal lookup and restart-without-a-blocked-writer controls passed.\nNo KASAN, oops, refcount, or lock diagnostic was observed. A source\nreproducer and complete local logs are available privately on request.\n\nThe demonstrated impact is limited to denial of a shared autofs service\nduring a legitimate daemon restart. No memory corruption, information leak,\nprivilege escalation, or code execution primitive was observed.","summary":"When the autofs daemon restarts while a lookup write is blocked, a late EPIPE error from the old pipe can put the new daemon generation into catatonic mode. The demonstrated result is failed lookups on a shared autofs mount, denial of service only.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["autofs","linux","runtime","self-hosted"],"not_affected_if":["no-autofs-mounts"],"how_to_check":"- `uname -r` and compare against the fixed kernel version in the vendor's stable branch (unknown from sources)\n- Check whether autofs is in use: `systemctl status autofs` or `mount | grep autofs`","fix":"- Update the Linux kernel to a release that includes the autofs fix (exact version unknown from sources)","status":"open","published_at":"2026-10-28T11:17:38+00:00","first_seen_at":"2026-10-28T11:32:36+00:00","triaged_at":"2026-10-28T11:35:26+00:00","updated_at":"2026-10-28T11:35:26+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-28T11:35:26Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the autofs fix (exact version unknown from sources)","reach":"local","title":"Linux autofs: stale pipe write error can wrongly freeze mounts","impact":"low","summary":"When the autofs daemon restarts while a lookup write is blocked, a late EPIPE error from the old pipe can put the new daemon generation into catatonic mode. The demonstrated result is failed lookups on a shared autofs mount, denial of service only.","category":"runtime","nicknames":[],"who_cares":["linux","autofs","self-hosted"],"confidence":0.6,"needs_auth":"yes","worst_case":"Shared autofs mounts stop resolving lookups until the daemon restarts again","analyst_note":"","how_to_check":"- `uname -r` and compare against the fixed kernel version in the vendor's stable branch (unknown from sources)\n- Check whether autofs is in use: `systemctl status autofs` or `mount | grep autofs`","needs_analyst":false,"not_affected_if":["no-autofs-mounts"],"who_is_affected":"Hosts that run autofs for automounted filesystems and restart the automount daemon while lookups are in progress. Systems without autofs mounts are not exposed. The sources report only denial of a shared autofs service, with no code execution or data exposure.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000628,"input_tokens":3798,"output_tokens":496,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-99181':13A,16A '304':265C '65534':211C 'act':145C 'activ':261C 'alreadi':181C 'already-lock':180C 'anoth':196C 'atom':192C 'autof':2A,17B,25B,60B,75C,83C,321C 'avail':307C 'block':33B,108C,286C 'byte':266C 'cataton':49B,113C,140C,166C 'catatonic/setpipefd':221C 'chang':190C,256C 'check':187C 'close':128C,151C 'code':336C 'complet':272C,303C 'control':288C 'corrupt':330C 'current':91C,148C,176C 'cve':11A,14A 'daemon':26B,46B,85C,111C,159C,326C 'delay':130C 'demonstr':52B,312C 'denial':62B,317C 'diagnost':296C 'drop':98C 'enoent':244C 'enter':112C,139C,165C 'epip':36B,133C 'error':6A,37B,78C,137C 'escal':334C 'execut':337C 'factor':178C 'fail':55B,172C,242C 'fill':213C 'follow':70C 'freez':9A 'fresh':251C 'fresh-mount':250C 'generat':47B,160C 'generic':136C 'guest':207C 'host':22B 'hup':231C 'ident':186C 'ignor':76C 'impact':313C 'inform':331C 'instal':116C 'intact':264C 'kasan':291C 'kernel':68C,226C 'late':35B 'later':240C 'leak':332C 'legitim':325C 'limit':315C 'linux':1A,18B,67C 'local':205C,304C 'lock':182C,295C 'log':305C 'lookup':30B,56B,212C,237C,241C,271C,280C 'memori':329C 'mode':50B,114C,141C,167C 'mount':10A,61B,252C 'mutex':96C,100C 'new':45B,158C,228C,258C 'normal':220C,279C 'notif':77C,92C 'notifi':84C 'observ':298C,340C 'old':40B,122C,215C 'oop':292C 'packet':216C 'pass':289C 'path':138C 'pend':235C 'pipe':4A,41B,82C,93C,119C,123C,154C,170C,177C,217C,229C,259C 'primit':338C 'privat':308C 'privileg':333C 'put':43B 'qemu':206C 'queue':163C 'reader':125C 'receiv':230C,262C 'refcount':293C 'refer':88C 'releas':156C 'remain':260C 'replac':81C,118C,153C,197C 'reproduc':200C,301C 'request':104C,267C,310C 'resolv':74C 'respect':194C 'restart':27B,222C,283C,327C 'restart-without-a-blocked-writ':282C 'result':53B 'return':132C 'run':253C,278C 'runtim':19B 'self':21B 'self-host':20B 'servic':64B,322C 'share':59B,320C 'sourc':300C 'stale':3A 'state':150C,189C 'still':174C 'superblock':149C 'take':86C 'transit':144C,183C 'two':246C,249C,274C,277C 'uid':210C 'unmodifi':225C 'unprivileg':209C 'v7.3-rc5-337-gff47652a4b66c':202C 'victim':236C,270C 'vulner':71C 'wait':162C 'without':284C 'wq':95C 'write':5A,31B,102C,106C,131C 'writer':287C 'wrong':8A","nicknames":[],"mitigations":[],"who_affected":"Hosts that run autofs for automounted filesystems and restart the automount daemon while lookups are in progress. Systems without autofs mounts are not exposed. The sources report only denial of a shared autofs service, with no code execution or data exposure.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:38+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99181","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99181","severity":null,"published_at":"2026-10-28T11:17:38+00:00","modified_at":"2026-10-28T11:17:38+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"}