Description
pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.0, the pusb_pad_compare() function in src/pad.c only verified that the user-side pad (~/.pamusb/device.pad) could be read, but did not enforce that the system-side pad (the pad file on the USB device) was also present and readable. If the user-side pad was deleted or unreadable, the function returned a failure that was treated as non-fatal in certain code paths, allowing authentication to succeed without the USB device being verified. A local user can delete their own ~/.pamusb/device.pad to remove the USB device requirement and authenticate without the physical device. This vulnerability is fixed in 0.9.0.
Published: 2026-05-27
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in pam_usb, the Linux PAM module that uses removable media for authentication. The pusb_pad_compare() function in releases before 0.9.0 validated only the existence of the user‑side pad (~/.pamusb/device.pad) and ignored the requirement that the system‑side pad stored on the USB device be present and readable. If the user deletes or makes unreadable the user‑side pad, the function returns a failure that the calling code treats as non‑fatal in certain paths, allowing authentication to succeed without verifying the physical device. The result is an authentication bypass that lets a local user log in without the USB token, effectively granting them any privileges associated with that account. This is an Authentication Bypass (CWE‑287) vulnerability with local scope.

Affected Systems

The affected product is pam_usb from vendor mcdope. All versions older than 0.9.0 are vulnerable; version 0.9.0 and later contain the fix.

Risk and Exploitability

The CVSS score of 7.1 classifies the issue as high severity. The vulnerability can only be exploited by a local user who has the ability to delete or modify files in their home directory. There is no public remote exploitation surface, and the EPSS score is not available; however, because the attack requires only a local account and simple file manipulation, the likelihood of exploitation in environments where users have write access is significant. The vulnerability is not listed in CISA’s KEV catalog, but the potential for privilege escalation in privileged services that use pam_usb elevates the operational risk.

Generated by OpenCVE AI on May 27, 2026 at 21:45 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pam_usb to version 0.9.0 or later, which enforces verification of the system‑side pad.
  • Restrict write permissions on the ~/.pamusb directory for non‑admin users to prevent accidental or malicious deletion of device.pad.
  • Review PAM configurations that use pam and enforce the 'required' control flag, ensuring that bypassing the module is not tolerated.
  • Optionally, implement an audit rule that alerts when ~/.pamusb/device.pad is removed or becomes unreadable.

Generated by OpenCVE AI on May 27, 2026 at 21:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 27 May 2026 20:15:00 +0000

Type Values Removed Values Added
Description pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.0, the pusb_pad_compare() function in src/pad.c only verified that the user-side pad (~/.pamusb/device.pad) could be read, but did not enforce that the system-side pad (the pad file on the USB device) was also present and readable. If the user-side pad was deleted or unreadable, the function returned a failure that was treated as non-fatal in certain code paths, allowing authentication to succeed without the USB device being verified. A local user can delete their own ~/.pamusb/device.pad to remove the USB device requirement and authenticate without the physical device. This vulnerability is fixed in 0.9.0.
Title pam_usb: OTP pad authentication bypass via missing system pad check and uninitialized RNG buffer
Weaknesses CWE-287
CWE-908
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-27T20:06:15.388Z

Reserved: 2026-05-18T23:03:37.230Z

Link: CVE-2026-47272

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-27T20:16:39.747

Modified: 2026-05-27T20:16:39.747

Link: CVE-2026-47272

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-27T21:45:43Z

Weaknesses