CVE-2026-48986 pam_usb: Infinite loop DoS in process-tree walk when parent process exits during authentication
An attacker can cause a denial of service by triggering an infinite loop in the pam_usb authentication module when a parent process exits.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-48986?
CVE-2026-48986 is a medium-severity denial of service vulnerability in mcdope pam_usb, published on 18 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
pam_usb provides hardware authentication for Linux using removable media. In pam_usb 0.9.1 and earlier, usb_get_process_parent_id() can cause an infinite loop DoS because it does not initialize *ppid on failure. In pusb_local_login(), the same variable is reused as input and output in a process-tree while loop; if /proc/<pid>/stat cannot be read (for example, when an ancestor process exits during authentication), the PID is not updated and the loop does not terminate. This hangs the authenticating process (such as sudo, sshd, or login) until it is forcibly terminated. This issue has been fixed in version 0.9.2.
Weakness: CWE-835
Which versions are affected by CVE-2026-48986?
How do I fix CVE-2026-48986?
No fix has been published for CVE-2026-48986 yet. Limit exposure of the affected software until one is available.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-48986 being exploited?
There is no known exploitation of CVE-2026-48986 in the wild and no public exploit code.
Sources
Also known as GHSA-h28h-9hc3-v595.