{"id":"CVE-2026-64668","kind":"vulnerability","aliases":["CVE-2026-64668"],"related":[],"title":"pam_usb: remote-session check fails open on IPv6 zone-indexed addresses","description":"pam_usb provides hardware authentication for Linux using removable media. From version 0.8.0 to before version 0.9.3, the deny_remote feature in pam_usb uses /usr/bin/w -i to detect whether the authenticating user has an active remote tmux session. In pusb_tmux_has_remote_clients() (src/tmux.c), the IPv6 detection pattern matched the address group and then immediately expected whitespace. On Linux systems with multi-homed network interfaces, w -i appends a zone index (scope identifier) to link-local IPv6 addresses — e.g. fe80::1%eth0. The %eth0 suffix appeared between the address and the next whitespace field, causing the regex match to fail even for an otherwise-matching remote session. The function returned \"no remote clients\" and granted access. This issue has been patched in version 0.9.3.","summary":"pam_usb's deny_remote check misses remote tmux sessions whose link-local IPv6 address carries a zone index such as %eth0. When the match fails, the module reports no remote clients and grants access that deny_remote should block.","severity":"high","cvss":7.4,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"pam_usb","fixed":[],"affected":"","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["ipv6","linux","other","pam","pam-usb","ssh","tmux"],"not_affected_if":["deny-remote-disabled","no-ipv6-remote-sessions","version-0.9.3-or-later"],"how_to_check":"- Confirm the installed pam_usb version is `0.8.0` or later but before `0.9.3`.\n- Check whether the `deny_remote` feature is enabled in your pam_usb configuration.\n- Look for multi-homed Linux hosts with link-local IPv6 addresses that have tmux sessions open.","fix":"- Upgrade pam_usb to `0.9.3` or later.","status":"open","published_at":"2026-11-11T05:19:51+00:00","first_seen_at":"2026-11-11T05:25:39+00:00","triaged_at":"2026-11-11T05:26:44+00:00","updated_at":"2026-11-11T05:26:44+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-11T05:26:44Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade pam_usb to `0.9.3` or later.","reach":"network","title":"pam_usb: remote-session check fails open on IPv6 zone-indexed addresses","impact":"medium","summary":"pam_usb's deny_remote check misses remote tmux sessions whose link-local IPv6 address carries a zone index such as %eth0. When the match fails, the module reports no remote clients and grants access that deny_remote should block.","audience":"businesses","category":"other","nicknames":[],"who_cares":["linux","pam","pam-usb","tmux","ssh","ipv6"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"remote sessions bypass the deny_remote restriction and pam_usb grants access","analyst_note":"","how_to_check":"- Confirm the installed pam_usb version is `0.8.0` or later but before `0.9.3`.\n- Check whether the `deny_remote` feature is enabled in your pam_usb configuration.\n- Look for multi-homed Linux hosts with link-local IPv6 addresses that have tmux sessions open.","plain_action":"","product_name":"pam_usb","needs_analyst":false,"not_affected_if":["version-0.9.3-or-later","deny-remote-disabled","no-ipv6-remote-sessions"],"who_is_affected":"Linux systems that use pam_usb for USB-token authentication with the deny_remote option enabled, where users reach tmux sessions over IPv6 on multi-homed interfaces. Systems on pam_usb `0.9.3` or later, or without deny_remote, are not exposed by this flaw.","user_interaction":"no","product_ecosystem":"vendor","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.001305,"input_tokens":4760,"output_tokens":1658,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':16A,19A '-64668':17A,20A '/usr/bin/w':98C '0.8.0':85C '0.9.3':89C,201C '1':157C 'access':67B,193C 'activ':108C 'address':14A,47B,125C,154C,165C 'appear':162C 'append':143C 'authent':77C,104C 'block':72B 'carri':48B 'caus':171C 'check':6A,37B 'client':64B,117C,190C 'cve':15A,18A 'deni':35B,69B,91C 'detect':101C,121C 'e.g':155C 'eth0':54B,158C,160C 'even':177C 'expect':130C 'fail':7A,58B,176C 'fe80':156C 'featur':93C 'field':170C 'function':186C 'grant':66B,192C 'group':126C 'hardwar':76C 'home':138C 'identifi':148C 'immedi':129C 'index':13A,51B,146C 'interfac':140C 'ipv6':10A,23B,46B,120C,153C 'issu':195C 'link':44B,151C 'link-loc':43B,150C 'linux':24B,79C,133C 'local':45B,152C 'match':57B,123C,174C,182C 'media':82C 'miss':38B 'modul':60B 'multi':137C 'multi-hom':136C 'network':139C 'next':168C 'open':8A 'otherwis':181C 'otherwise-match':180C 'pam':1A,21A,26B,28B,32B,73C,95C 'pam-usb':27B 'patch':198C 'pattern':122C 'provid':75C 'pusb':113C 'regex':173C 'remot':4A,36B,39B,63B,70B,92C,109C,116C,183C,189C 'remote-sess':3A 'remov':81C 'report':61B 'return':187C 'scope':147C 'session':5A,41B,111C,184C 'src/tmux.c':118C 'ssh':30B 'suffix':161C 'system':134C 'tmux':31B,40B,110C,114C 'usb':2A,22A,29B,33B,74C,96C 'use':80C,97C 'user':105C 'version':84C,88C,200C 'w':141C 'whether':102C 'whitespac':131C,169C 'whose':42B 'zone':12A,50B,145C 'zone-index':11A","nicknames":[],"mitigations":[],"who_affected":"Linux systems that use pam_usb for USB-token authentication with the deny_remote option enabled, where users reach tmux sessions over IPv6 on multi-homed interfaces. Systems on pam_usb `0.9.3` or later, or without deny_remote, are not exposed by this flaw.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["pamusb"],"ptokens":["pam","usb"],"labels":["high","ipv6","linux","other","pam","pamusb","ssh","tmux","vendor"],"campaign_type":null,"search_a":"'-2026':16A,19A '-64668':17A,20A 'address':14A 'check':6A 'cve':15A,18A 'fail':7A 'index':13A 'ipv6':10A 'open':8A 'pam':1A,21A 'remot':4A 'remote-sess':3A 'session':5A 'usb':2A,22A 'zone':12A 'zone-index':11A","search_b":"'access':67B 'address':47B 'block':72B 'carri':48B 'check':37B 'client':64B 'deni':35B,69B 'eth0':54B 'fail':58B 'grant':66B 'index':51B 'ipv6':23B,46B 'link':44B 'link-loc':43B 'linux':24B 'local':45B 'match':57B 'miss':38B 'modul':60B 'pam':26B,28B,32B 'pam-usb':27B 'remot':36B,39B,63B,70B 'report':61B 'session':41B 'ssh':30B 'tmux':31B,40B 'usb':29B,33B 'whose':42B 'zone':50B","search_c":"'/usr/bin/w':98C '0.8.0':85C '0.9.3':89C,201C '1':157C 'access':193C 'activ':108C 'address':125C,154C,165C 'appear':162C 'append':143C 'authent':77C,104C 'caus':171C 'client':117C,190C 'deni':91C 'detect':101C,121C 'e.g':155C 'eth0':158C,160C 'even':177C 'expect':130C 'fail':176C 'fe80':156C 'featur':93C 'field':170C 'function':186C 'grant':192C 'group':126C 'hardwar':76C 'home':138C 'identifi':148C 'immedi':129C 'index':146C 'interfac':140C 'ipv6':120C,153C 'issu':195C 'link':151C 'link-loc':150C 'linux':79C,133C 'local':152C 'match':123C,174C,182C 'media':82C 'multi':137C 'multi-hom':136C 'network':139C 'next':168C 'otherwis':181C 'otherwise-match':180C 'pam':73C,95C 'patch':198C 'pattern':122C 'provid':75C 'pusb':113C 'regex':173C 'remot':92C,109C,116C,183C,189C 'remov':81C 'return':187C 'scope':147C 'session':111C,184C 'src/tmux.c':118C 'suffix':161C 'system':134C 'tmux':110C,114C 'usb':74C,96C 'use':80C,97C 'user':105C 'version':84C,88C,200C 'w':141C 'whether':102C 'whitespac':131C,169C 'zone':145C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-07-02T15:05:46+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-64668","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64668","severity":null,"published_at":"2026-11-11T05:19:51+00:00","modified_at":"2026-11-11T05:19:51+00:00","first_seen_at":"2026-11-11T05:25:39+00:00","fetched_at":"2026-11-11T05:25:39+00:00","note":null}],"documents":[{"id":122865,"url":"https://github.com/mcdope/pam_usb/commit/a62513f3da871d6576d751de3482eb80b9ac79f3","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":122860,"url":"https://github.com/mcdope/pam_usb/releases/tag/0.9.3","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":122867,"url":"https://github.com/mcdope/pam_usb/security/advisories/GHSA-7583-9cqv-j9rf","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-02T15:05:46+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}