pam_usb: getenv() in pusb_local_login bypasses XRDP deny via env-var unset
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| mcdope | pam_usb | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Mcdope | Pam Usb |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.182% probability within 30 days)
Key SSVC decision points have not yet been added.
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Mcdope
Mcdope pam Usb |
|
| Vendors & Products |
Mcdope
Mcdope pam Usb |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | pam_usb provides hardware authentication for Linux using removable media. Prior to version 0.9.3, src/local.c reads XRDP_SESSION with plain getenv(3) at the head of pusb_local_login while every other env consumer in the same function uses secure_getenv(3). When pam_usb.so loads into a setuid PAM host, the calling user controls the environment passed in. Clearing XRDP_SESSION before invoking the host bypasses the explicit XRDP-deny rule. Other remote-detection signals (rmsvc, evdev, loginctl, utmp) may still catch the session, but the env-based detection alone is defeated. This issue has been patched in version 0.9.3. | |
| Title | pam_usb: getenv() in pusb_local_login bypasses XRDP deny via env-var unset | |
| Weaknesses | CWE-807 | |
| References |
| |
| Metrics |
cvssV3_1
|