CVE-2026-48985: pam_usb: NULL Dereference Crash in pusb_is_loginctl_local when loginctl Returns Empty Remote Field
pamusb provides hardware authentication for Linux using ordinary removable media. In versions 0.9.1 and below, pusbisloginctllocal() can cause a NULL dereference crash when parsing loginctl output. The function calls popen() and reads the result; if the Remote field is only a newline, fgets() succeeds but strtokr(buf, "\n", &saveptr) returns NULL. A subsequent strcmp(isremote, "no") then dereferences NULL, causing undefined behavior (typically SIGSEGV) and crashing the PAM module. This can crash the authenticating process (e.g., sudo, login) and, depending on PAM stack configuration, deny access for all users of the affected service. This issue has been fixed in version 0.9.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pam_usbto a version that resolves this vulnerability.Fixed in 0.9.2
Event History
Frequently Asked Questions
What is the severity of CVE-2026-48985?
CVE-2026-48985 has a medium severity rating of 5.5.
How do I fix CVE-2026-48985?
To fix CVE-2026-48985, upgrade pam_usb to version 0.9.2 or later.
What is the impact of CVE-2026-48985?
CVE-2026-48985 can lead to a NULL dereference crash when parsing loginctl output.
Which versions of pam_usb are affected by CVE-2026-48985?
Versions 0.9.1 and below of pam_usb are affected by CVE-2026-48985.
What type of vulnerability is CVE-2026-48985?
CVE-2026-48985 is classified as a Null Pointer Dereference vulnerability.