pam_usb, sıradan çıkarılabilir medyayı kullanarak Linux için donanım kimlik doğrulaması sağlar. 0.9.2'den önceki sürümlerde, cihaz başına ve kullanıcı başına pad dizini oluşturmada bir sembolik bağlantı yarışı durumu mevcuttur. pam_usb bir kontrol et sonra harekete geç modelini kullanır: varlığını test etmek için lstat()'ı çağırır ve ardından dizini oluşturmak için ayrı olarak mkdir()'i çağırır. Yerel bir saldırgan, hedef yolu kontrol ettiği bir dizine giden sembolik bağlantıyla değiştirerek bu çağrılar arasındaki yarışı kazanabilir. Başarılı olması durumunda, tek seferlik ped dosyaları saldırganın kontrol ettiği bir konuma yazılabilir ve bu durum potansiyel olarak kullanımdan önce gelecekteki ped değerlerinin açığa çıkmasına veya kimlik doğrulamanın bozulmasına neden olabilir. Bu sorun 0.9.2 sürümünde düzeltildi.
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.