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.
Published: 2026-06-18
Score: 5.8 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw exists in pam_usb before version 0.9.2 when the temporary file used to update the one‑time pad is created without the O_EXCL flag. This allows two concurrent processes to both open the file and write to it, with the second write silently overwriting the first. Because the one‑time pad is the system’s replay‑prevention mechanism, the corrupted or partially updated pad could cause authentication failures or, if an attacker times the race precisely, create a brief interval where the pad can be reused, enabling a replay attack.

Affected Systems

The issue affects the pam_usb library from the vendor mcdope. All instances running a version earlier than 0.9.2 are vulnerable. The 0.9.2 release incorporates the O_EXCL fix to eliminate the race condition.

Risk and Exploitability

The CVSS score is 5.8, indicating moderate severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. The attack vector is likely local, since the race requires two concurrent update operations on the same pad. While a precise timing attack could allow a window for replaying credentials, the conditions are stringent, resulting in a moderate exploitation probability.

Generated by OpenCVE AI on June 18, 2026 at 21:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update pam_usb to version 0.9.2 or later, which addresses the race condition by adding the O_EXCL flag during temporary file creation.
  • If an immediate upgrade is not possible, enforce strict access control or locking around the pad update process to prevent concurrent writes by separate processes.
  • Monitor authentication logs for abnormal failure patterns or signs of the pad being reused, and apply additional security controls such as enforcing multi‑factor authentication to mitigate any potential replay attempts.

Generated by OpenCVE AI on June 18, 2026 at 21:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 18 Jun 2026 21:30:00 +0000

Type Values Removed Values Added
First Time appeared Mcdope
Mcdope pam Usb
Vendors & Products Mcdope
Mcdope pam Usb

Thu, 18 Jun 2026 19:45:00 +0000

Type Values Removed Values Added
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.
Title pam_usb: Missing O_EXCL on pad temp file creation allows concurrent update race
Weaknesses CWE-362
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-18T19:01:08.766Z

Reserved: 2026-05-26T23:26:07.974Z

Link: CVE-2026-48982

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-18T21:30:16Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')