pam_usb provides hardware authentication for Linux using ordinary removable media. In versions prior to 0.9.2, a symlink race condition exists in per-device and per-user pad directory creation. pam_usb uses a check-then-act pattern: it calls lstat() to test for existence and then calls mkdir() separately to create the directory. A local attacker can win the race between these calls by replacing the target path with a symlink to a directory they control. If successful, one-time pad files may be written to an attacker-controlled location, potentially exposing future pad values before use or disrupting authentication. This issue has been fixed in version 0.9.2.
Exploitability
AV:LAC:HPR:LUI:NScope
S:UImpact
C:HI:LA:L5.8/CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:LOther