Description
pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.1, when a PAM service is configured with deny_remote=false in pam_usb (commonly done for display managers such as gdm-password or lightdm to bypass process/TTY heuristics for local sessions), the PAM_RHOST check in pusb_do_auth() is also skipped. PAM_RHOST is set by remote daemons (sshd, XDMCP servers) to identify the remote client address. Because the check is gated inside if (opts.deny_remote), a genuine remote XDMCP connection reaches the USB device authentication step instead of being rejected. This vulnerability is fixed in 0.9.1.
Problem types
CWE-863: Incorrect Authorization
Product status
References
github.com/mcdope/pam_usb/issues/348
github.com/...am_usb/security/advisories/GHSA-w38v-cw9r-x9p6
github.com/mcdope/pam_usb/issues/348