← Back to CVE Explorer

CVE-2026-48986

Full vulnerability record from the local CVENow database.

Description

pam_usb provides hardware authentication for Linux using removable media. In pam_usb 0.9.1 and earlier, usb_get_process_parent_id() can cause an infinite loop DoS because it does not initialize *ppid on failure. In pusb_local_login(), the same variable is reused as input and output in a process-tree while loop; if /proc/<pid>/stat cannot be read (for example, when an ancestor process exits during authentication), the PID is not updated and the loop does not terminate. This hangs the authenticating process (such as sudo, sshd, or login) until it is forcibly terminated. This issue has been fixed in version 0.9.2.

Severity
MEDIUM
CVSS score
4.7 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-06-18 18:16:19.807000
Last modified
2026-10-26 11:10:00.157000
View original CVE JSON
{
  "id": "CVE-2026-48986",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-18T18:16:19.807",
  "lastModified": "2026-10-26T11:10:00.157",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "pam_usb provides hardware authentication for Linux using removable media. In pam_usb 0.9.1 and earlier, usb_get_process_parent_id() can cause an infinite loop DoS because it does not initialize *ppid on failure. In pusb_local_login(), the same variable is reused as input and output in a process-tree while loop; if /proc/<pid>/stat cannot be read (for example, when an ancestor process exits during authentication), the PID is not updated and the loop does not terminate. This hangs the authenticating process (such as sudo, sshd, or login) until it is forcibly terminated. This issue has been fixed in version 0.9.2."
    },
    {
      "lang": "es",
      "value": "pam_usb proporciona autenticación de hardware para Linux utilizando medios extraíbles. En pam_usb 0.9.1 y anteriores, usb_get_process_parent_id() puede causar un DoS de bucle infinito porque no inicializa ppid al fallar. En pusb_local_login(), la misma variable se reutiliza como entrada y salida en un bucle while de árbol de procesos; si /proc/[pid]/stat no se puede leer (por ejemplo, cuando un proceso ancestro sale durante la autenticación), el PID no se actualiza y el bucle no termina. Esto cuelga el proceso de autenticación (como sudo, sshd o login) hasta que se termina forzosamente. Este problema ha sido solucionado en la versión 0.9.2."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "mcdope",
          "product": "pam_usb",
          "versions": [
            {
              "version": "< 0.9.2",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 4.7,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.0,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-22T12:34:27.319918Z",
          "id": "CVE-2026-48986",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-835"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/mcdope/pam_usb/releases/tag/0.9.2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/mcdope/pam_usb/security/advisories/GHSA-h28h-9hc3-v595",
      "source": "[email protected]"
    }
  ]
}