pam_usb: Missing O_EXCL on pad temp file creation allows concurrent update race
Description
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2Patches
Vulnerability mechanics
References
2- github.com/mcdope/pam_usb/releases/tag/0.9.2mitrex_refsource_MISC
- github.com/mcdope/pam_usb/security/advisories/GHSA-hxh6-9574-5vp6mitrex_refsource_CONFIRM
News mentions
1- pam_usb: Five Coordinated Vulns Disclosed — TOCTOU, DoS, and Memory-Scrubbing FlawVypr Intelligence · Jun 18, 2026