CVE-2026-48981
Received Received - Intake
XML External Entity Injection in pam_usb

Publication date: 2026-06-18

Last updated on: 2026-06-18

Assigner: GitHub, Inc.

Description
pam_usb provides hardware authentication for Linux using ordinary removable media. In versions prior to 0.9.2, pam_usb calls xmlReadFile() with flags=0 when loading the configuration file, allowing libxml2 to process external entity references (XXE), potentially making outbound network connections or local file reads at XML parse time from the context of the authenticating process. The vulnerability requires the configuration file to contain crafted XML entity references. Since pam_usb.conf is root-owned, direct exploitation requires prior write access to the config, but the defence-in-depth impact is significant given that pam_usb.so runs in setuid contexts (sudo, su). This issue has been fixed in version 0.9.2.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-18
Last Modified
2026-06-18
Generated
2026-06-19
AI Q&A
2026-06-19
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
mcdope pam_usb to 0.9.2 (exc)
mcdope pam_usb to 0.9.2 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-611 The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

The vulnerability CVE-2026-48981 affects pam_usb versions prior to 0.9.2. It arises because pam_usb calls the function xmlReadFile() with flags set to 0 when loading its configuration file. This allows the libxml2 library to process external entity references (XXE), which can lead to outbound network connections or local file reads during XML parsing within the authenticating process.

Exploitation requires the configuration file to contain crafted XML entity references. Since the configuration file pam_usb.conf is root-owned, direct exploitation requires prior write access to this file. However, the impact is significant because pam_usb.so runs in setuid contexts such as sudo or su, which have elevated privileges.

The issue has been fixed in version 0.9.2 by changing the xmlReadFile() call to include flags that prevent network access and external entity processing.

Impact Analysis

This vulnerability can impact you by allowing an attacker who has prior write access to the pam_usb configuration file to execute XML External Entity (XXE) attacks during authentication.

Such attacks could enable the attacker to make outbound network connections or read local files with the privileges of the authenticating process, which runs with elevated privileges due to setuid contexts like sudo or su.

The potential impacts include high confidentiality loss, limited integrity loss, and limited availability loss, as indicated by the CVSS score vector.

Detection Guidance

Detection of this vulnerability involves checking the version of pam_usb installed and inspecting the pam_usb configuration file for crafted XML entity references.

  • Verify the pam_usb version to ensure it is 0.9.2 or later, as versions 0.9.1 and earlier are vulnerable.
  • Check the pam_usb.conf configuration file (usually root-owned) for any suspicious or crafted XML external entity references that could exploit the XXE vulnerability.
  • Example command to check pam_usb version: `pam_usb --version` or check package manager info, e.g., `dpkg -l | grep pam_usb` or `rpm -qi pam_usb`.
  • Example command to inspect the configuration file: `cat /etc/security/pam_usb.conf` or `sudo cat /etc/security/pam_usb.conf` to look for unusual XML entity declarations.
Mitigation Strategies

The primary mitigation step is to upgrade pam_usb to version 0.9.2 or later, where the vulnerability has been fixed by properly restricting XML external entity processing.

  • Upgrade pam_usb to version 0.9.2 or newer.
  • Ensure the pam_usb.conf configuration file is secured with proper permissions to prevent unauthorized write access.
  • Review and harden system access controls to limit who can modify the pam_usb configuration.
  • Consider monitoring authentication logs for unusual activity related to pam_usb usage.
Compliance Impact

The vulnerability in pam_usb allows XML External Entity (XXE) processing that can lead to unauthorized outbound network connections or local file reads from the context of the authenticating process. Since pam_usb runs in setuid contexts (such as sudo or su), this can potentially expose sensitive system information or user data.

Such unauthorized data access or leakage could impact compliance with data protection standards and regulations like GDPR or HIPAA, which require strict controls over access to sensitive personal or health information. The vulnerability could undermine confidentiality controls mandated by these regulations.

However, exploitation requires prior write access to a root-owned configuration file, which limits the attack surface. The issue has been fixed in version 0.9.2, and upgrading is strongly recommended to maintain compliance and security posture.

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