Description
pam_usb provides hardware authentication for Linux using removable media. In versions prior to 0.9.2, getenv() environment variables XRDP_SESSION, DISPLAY and TMUX allow environment variable injection into local-check logic. These environment variables influence whether a current session is local or remote, and a PAM module that runs in the context of setuid binaries (sudo, su), getenv() returns attacker-controlled values whenever the process environment has been manipulated by a local user. This issue has been fixed in version 0.9.2.
Published: 2026-06-18
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability allows a local user to influence the PAM module’s determination of whether a session is local or remote by injecting values into the environment variables XRDP_SESSION, DISPLAY and TMUX. The environment variable injection can cause the module to misclassify a session type, potentially letting the attacker bypass local‑check logic and gain unauthorized privileges within the PAM authentication flow. The weakness arises from the use of getenv() without sanitization in a setuid context, and it is classified as CWE-454 and CWE-807.

Affected Systems

The issue affects the pam_usb client library used for USB‑based hardware authentication on Linux, specifically all versions before 0.9.2 released by the vendor. Users who run any earlier version of pam_usb on a system that allows manipulation of the mentioned environment variables are impacted. No specific operating system versions are listed; the flaw exists wherever the vulnerable pam_usb library is installed. The fix is provided in the 0.9.2 release, which removes the environment variable reliance.

Risk and Exploitability

The CVSS score of 6.3 indicates a medium severity vulnerability. Because EPSS data is not available, the likelihood of exploitation cannot be quantified, but the flaw is not listed in the CISA KEV catalog, suggesting no known active exploitation. The attack vector is inferred to be local: a legitimate local user can set the three environment variables before invoking a setuid binary such as sudo or su, thereby injecting values into the PAM module. To exploit, the attacker must have shell access to set the environment variables, and the PAM module must be configured to evaluate them during the authentication step. No network or remote exploitation is required.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pam_usb to version 0.9.2 or later
  • Remove or neutralize the environment variables XRDP_SESSION, DISPLAY, and TMUX before a user runs setuid binaries that invoke pam_usb
  • Configure the PAM stack to avoid passing user‑controlled environment variables to the authentication module

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
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


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

Type Values Removed Values Added
Description pam_usb provides hardware authentication for Linux using removable media. In versions prior to 0.9.2, getenv() environment variables XRDP_SESSION, DISPLAY and TMUX allow environment variable injection into local-check logic. These environment variables influence whether a current session is local or remote, and a PAM module that runs in the context of setuid binaries (sudo, su), getenv() returns attacker-controlled values whenever the process environment has been manipulated by a local user. This issue has been fixed in version 0.9.2.
Title pam_usb: getenv() used in PAM context allows environment variable injection into local-check logic
Weaknesses CWE-454
CWE-807
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-18T20:25:31.988Z

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

Link: CVE-2026-48980

cve-icon Vulnrichment

Updated: 2026-06-18T20:25:26.727Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-454

    External Initialization of Trusted Variables or Data Stores

  • CWE-807

    Reliance on Untrusted Inputs in a Security Decision