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, bir kerelik pad dosyasını güncellerken, O_EXCL bayrağı olmadan open() kullanılarak geçici bir dosya oluşturulur. O_EXCL olmadan, yaratma işlemi atomik değildir: aynı pedi güncellemek için yarışan iki eşzamanlı süreç, ikinci yazmanın sessizce birincinin üzerine yazmasıyla dosyayı açmayı başarabilir. Tek kullanımlık ped, pam_usb'un temel tekrar oynatma önleme mekanizmasıdır. Başarılı bir yarış, depolanan ped değerinin her iki işlemin de beklediğinden sapmasına, potansiyel olarak kimlik doğrulama hatalarına neden olmasına veya hassas zamanlanmış bir saldırıda pedin yeniden kullanılması için bir pencere oluşması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, when updating a one-time pad file, a temporary file is created using open() without the O_EXCL flag. Without O_EXCL, the create operation is not atomic: two concurrent processes racing to update the same pad may both succeed in opening the file, with the second write silently overwriting the first. The one-time pad is the core replay-prevention mechanism of pam_usb. A successful race could result in the stored pad value diverging from what either process expected, potentially causing authentication failures or, in a precisely timed attack, creating a window for pad reuse. This issue has been fixed in version 0.9.2.