CVE-2026-44712
Deferred Deferred - Pending Action
Remote Code Execution in pam_usb Prior to 0.8.7

Publication date: 2026-05-27

Last updated on: 2026-05-27

Assigner: GitHub, Inc.

Description
pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.8.7, a crafted UUID such as $(id>/tmp/rce) in the config causes root RCE when pamusb-conf --reset-pads is run. A USB device with a crafted filesystem UUID (some controllers allow this) can inject the payload at --add-device time. Also, userName from the XML config is passed to os.system() in pamusb-agent, which invokes a shell. This vulnerability is fixed in 0.8.7.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-27
Last Modified
2026-05-27
Generated
2026-06-17
AI Q&A
2026-05-28
EPSS Evaluated
2026-06-16
NVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
mcdope pam_usb to 0.8.7 (exc)
mcdope pam_usb From 0.8.7 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-88 The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string.
CWE-78 The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

The vulnerability exists in pam_usb, a tool that provides hardware authentication for Linux using removable media. Before version 0.8.7, if a crafted UUID containing malicious code (e.g., $(id>/tmp/rce)) is placed in the configuration, it can lead to root remote code execution (RCE) when the command pamusb-conf --reset-pads is run.

Additionally, a USB device with a specially crafted filesystem UUID can inject this malicious payload during the --add-device process. Another issue is that the userName from the XML configuration is passed directly to os.system() in pamusb-agent, which executes a shell command, further enabling code execution.

This vulnerability was fixed in version 0.8.7 of pam_usb.

Impact Analysis

This vulnerability can allow an attacker with physical access to a system to execute arbitrary code with root privileges by using a specially crafted USB device or configuration.

The impact includes complete compromise of the affected system, allowing the attacker to gain full control, access sensitive data, modify system configurations, or disrupt system operations.

Because the attack requires local access and involves physical devices, it is a high-severity risk in environments where USB devices are used for authentication.

Mitigation Strategies

To mitigate this vulnerability, upgrade pam_usb to version 0.8.7 or later, where the issue is fixed.

Avoid running pamusb-conf --reset-pads or adding USB devices with crafted filesystem UUIDs until the upgrade is applied.

Compliance Impact

The vulnerability allows for root remote code execution (RCE) via crafted UUIDs and user input passed to shell commands, potentially leading to full system compromise.

Such a compromise could result in unauthorized access to sensitive data, which may impact compliance with standards and regulations like GDPR and HIPAA that require protection of personal and health information.

However, the provided information does not explicitly describe the direct effects on compliance with these standards.

Detection Guidance

This vulnerability can be detected by checking if the system is running pam_usb versions 0.8.6 or below, which are vulnerable to shell injection via crafted UUIDs or usernames in the pam_usb configuration.

To detect potential exploitation or presence of malicious crafted UUIDs, you can inspect the UUIDs of USB devices and the pam_usb configuration files for suspicious shell metacharacters such as $(), backticks, or other command injection patterns.

  • Check the pam_usb version installed: `pamusb-conf --version` or check package manager info.
  • List USB devices and their UUIDs to identify any suspicious or crafted UUIDs: `lsblk -o NAME,UUID` or `blkid`.
  • Inspect pam_usb configuration files (usually XML) for suspicious entries in device UUIDs or usernames containing shell metacharacters, e.g., `grep -E '\$\(|`' /etc/pam_usb/*.xml`.
  • Check for unexpected files created by exploitation attempts, such as `/tmp/rce`.

Note that exploitation requires running commands like `pamusb-conf --reset-pads` or adding a device, so monitoring command usage or audit logs for these commands may also help detect attempts.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44712. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart