{"id":"CVE-2026-99279","kind":"vulnerability","aliases":["CVE-2026-99279"],"related":[],"title":"Linux kernel ksmbd: ended SMB sessions keep memory and connection slots","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: reclaim ended sessions on logoff and expiration\n\nLOGOFF and previous-session replacement leave sessions Expired with a\nzero credential expiry. Ended sessions can retain their memory and\nconnection slots when no further setup arrives on the owning connection.\n\nUnpublish a logged-off session while the request reference keeps its\nresponse signing and encryption keys alive. Remove its procfs entry\nbefore dropping the table reference so a reader cannot remove its own\nentry on the last put. Clear proc_entry after removal to avoid removing\nit twice.\n\nReclaim ended sessions from the global table in the existing expiration\nworker before it acquires conn_list_lock. Only select Expired sessions\nwith zero credential expiry and no references beyond the table\nreference. Keep sessions whose Kerberos credentials expired available\nfor reauthentication.\n\nUnlink the session from its setup connection and all channel\nconnections, so SMB2 sessions and sessions with only secondary SMB3\nchannels are covered. The session already holds connection references,\nand sessions_table_lock prevents concurrent channel removal. Queue\nsessions on a separate disposal list, leaving their hash nodes unhashed,\nand remove procfs entries and drop table references outside the locks.\n\nKeep the pending setup check before allocating a new session so\nabandoned InProgress sessions can release their slots even at the\nconnection limit. Retain the timeout and reference checks and dispose of\nthose sessions outside the locks. Leave ended Expired sessions to the\nexpiration worker.","summary":"In the Linux kernel's ksmbd SMB file server, sessions that were logged off or replaced are not released when no further setup arrives on their connection. The leftover sessions keep their memory and connection slots, which can exhaust server resources.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ksmbd","linux","runtime","self-hosted","smb"],"not_affected_if":["ksmbd-not-loaded"],"how_to_check":"- Check whether the kernel has the ksmbd module loaded: `lsmod | grep ksmbd`\n- Check the running kernel version: `uname -r`","fix":null,"status":"open","published_at":"2026-11-07T14:17:03+00:00","first_seen_at":"2026-11-07T14:47:40+00:00","triaged_at":"2026-11-07T14:49:49+00:00","updated_at":"2026-11-07T14:49:49+00:00","category":"runtime","confidence":0.5,"triage":{"at":"2026-11-07T14:49:49Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Linux kernel ksmbd: ended SMB sessions keep memory and connection slots","impact":"low","summary":"In the Linux kernel's ksmbd SMB file server, sessions that were logged off or replaced are not released when no further setup arrives on their connection. The leftover sessions keep their memory and connection slots, which can exhaust server resources.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["linux","ksmbd","smb","self-hosted"],"confidence":0.5,"fix_status":"unknown","needs_auth":"unknown","worst_case":"resource exhaustion on the file server; memory and connection slots stay held","analyst_note":"Confirm affected kernel version ranges and the fixed commit from the NVD entry or the kernel stable tree.","how_to_check":"- Check whether the kernel has the ksmbd module loaded: `lsmod | grep ksmbd`\n- Check the running kernel version: `uname -r`\n- unknown whether the sources name affected kernel versions","plain_action":"","needs_analyst":true,"not_affected_if":["ksmbd-not-loaded"],"who_is_affected":"Only systems running the Linux kernel's ksmbd SMB server are exposed; the sources do not state which kernel versions or configurations are affected. Systems that do not run ksmbd can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000724,"input_tokens":4647,"output_tokens":518,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-99279':14A,17A 'abandon':278C 'acquir':179C 'aliv':133C 'alloc':273C 'alreadi':232C 'arriv':48B,111C 'avail':204C 'avoid':161C 'beyond':194C 'cannot':146C 'channel':216C,227C,242C 'check':271C,295C 'clear':155C 'concurr':241C 'conn':180C 'connect':10A,51B,59B,105C,115C,213C,217C,234C,288C 'cover':229C 'credenti':96C,189C,202C 'cve':12A,15A 'dispos':249C,297C 'drop':139C,261C 'encrypt':131C 'end':4A,78C,98C,166C,305C 'entri':137C,150C,157C,259C 'even':285C 'exhaust':63B 'exist':174C 'expir':83C,92C,175C,185C,203C,306C,310C 'expiri':97C,190C 'file':32B 'follow':71C 'global':170C 'hash':253C 'hold':233C 'host':23B 'inprogress':279C 'keep':7A,55B,126C,198C,267C 'kerbero':201C 'kernel':2A,28B,69C 'key':132C 'ksmbd':3A,18B,30B,76C 'last':153C 'leav':90C,251C,304C 'leftov':53B 'limit':289C 'linux':1A,19B,27B,68C 'list':181C,250C 'lock':182C,239C,266C,303C 'log':37B,119C 'logged-off':118C 'logoff':81C,84C 'memori':8A,57B,103C 'new':275C 'node':254C 'outsid':264C,301C 'own':114C 'pend':269C 'prevent':240C 'previous':87C 'previous-sess':86C 'proc':156C 'procf':136C,258C 'put':154C 'queue':244C 'reader':145C 'reauthent':206C 'reclaim':77C,165C 'refer':125C,142C,193C,197C,235C,263C,294C 'releas':43B,282C 'remov':134C,147C,159C,162C,243C,257C 'replac':40B,89C 'request':124C 'resolv':75C 'resourc':65B 'respons':128C 'retain':101C,290C 'runtim':20B 'secondari':225C 'select':184C 'self':22B 'self-host':21B 'separ':248C 'server':33B,64B 'session':6A,34B,54B,79C,88C,91C,99C,121C,167C,186C,199C,209C,220C,222C,231C,237C,245C,276C,280C,300C,307C 'setup':47B,110C,212C,270C 'sign':129C 'slot':11A,60B,106C,284C 'smb':5A,24B,31B 'smb2':219C 'smb3':226C 'tabl':141C,171C,196C,238C,262C 'timeout':292C 'twice':164C 'unhash':255C 'unlink':207C 'unpublish':116C 'vulner':72C 'whose':200C 'worker':176C,311C 'zero':95C,188C","nicknames":[],"mitigations":[],"who_affected":"Only systems running the Linux kernel's ksmbd SMB server are exposed; the sources do not state which kernel versions or configurations are affected. Systems that do not run ksmbd can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["ksmbd","linux","runtime","selfhosted","smb","unknown"],"campaign_type":null,"search_a":"'-2026':13A,16A '-99279':14A,17A 'connect':10A 'cve':12A,15A 'end':4A 'keep':7A 'kernel':2A 'ksmbd':3A 'linux':1A 'memori':8A 'session':6A 'slot':11A 'smb':5A","search_b":"'arriv':48B 'connect':51B,59B 'exhaust':63B 'file':32B 'host':23B 'keep':55B 'kernel':28B 'ksmbd':18B,30B 'leftov':53B 'linux':19B,27B 'log':37B 'memori':57B 'releas':43B 'replac':40B 'resourc':65B 'runtim':20B 'self':22B 'self-host':21B 'server':33B,64B 'session':34B,54B 'setup':47B 'slot':60B 'smb':24B,31B","search_c":"'abandon':278C 'acquir':179C 'aliv':133C 'alloc':273C 'alreadi':232C 'arriv':111C 'avail':204C 'avoid':161C 'beyond':194C 'cannot':146C 'channel':216C,227C,242C 'check':271C,295C 'clear':155C 'concurr':241C 'conn':180C 'connect':105C,115C,213C,217C,234C,288C 'cover':229C 'credenti':96C,189C,202C 'dispos':249C,297C 'drop':139C,261C 'encrypt':131C 'end':78C,98C,166C,305C 'entri':137C,150C,157C,259C 'even':285C 'exist':174C 'expir':83C,92C,175C,185C,203C,306C,310C 'expiri':97C,190C 'follow':71C 'global':170C 'hash':253C 'hold':233C 'inprogress':279C 'keep':126C,198C,267C 'kerbero':201C 'kernel':69C 'key':132C 'ksmbd':76C 'last':153C 'leav':90C,251C,304C 'limit':289C 'linux':68C 'list':181C,250C 'lock':182C,239C,266C,303C 'log':119C 'logged-off':118C 'logoff':81C,84C 'memori':103C 'new':275C 'node':254C 'outsid':264C,301C 'own':114C 'pend':269C 'prevent':240C 'previous':87C 'previous-sess':86C 'proc':156C 'procf':136C,258C 'put':154C 'queue':244C 'reader':145C 'reauthent':206C 'reclaim':77C,165C 'refer':125C,142C,193C,197C,235C,263C,294C 'releas':282C 'remov':134C,147C,159C,162C,243C,257C 'replac':89C 'request':124C 'resolv':75C 'respons':128C 'retain':101C,290C 'secondari':225C 'select':184C 'separ':248C 'session':79C,88C,91C,99C,121C,167C,186C,199C,209C,220C,222C,231C,237C,245C,276C,280C,300C,307C 'setup':110C,212C,270C 'sign':129C 'slot':106C,284C 'smb2':219C 'smb3':226C 'tabl':141C,171C,196C,238C,262C 'timeout':292C 'twice':164C 'unhash':255C 'unlink':207C 'unpublish':116C 'vulner':72C 'whose':200C 'worker':176C,311C 'zero':95C,188C","first_public_at":"2026-11-07T14:17:03+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99279","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99279","severity":null,"published_at":"2026-11-07T14:17:03+00:00","modified_at":"2026-11-07T14:17:03+00:00","first_seen_at":"2026-11-07T14:47:40+00:00","fetched_at":"2026-11-07T14:47:40+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}