Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-47271— pam_usb: OOM guards removed by -DNDEBUG cause NULL dereference and authentication process crash

Quick assessment

Affected
mcdope pam_usb
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

pam_usb是McDope个人开发者的一个基于USB设备的Linux硬件认证工具。 pam_usb 0.9.0之前版本存在代码问题漏洞,该漏洞源于内存分配失败时断言被编译移除导致空指针解引用,可能导致本地拒绝服务。

CVSS 5.1 · Medium EPSS 0.16% · P4

Affected Version Matrix 1

VendorProduct Version RangeStatus
mcdope pam_usb < 0.9.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-47271

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
pam_usb: OOM guards removed by -DNDEBUG cause NULL dereference and authentication process crash
Source: CVE Program / CVE List V5
Vulnerability Description
pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.0, src/mem.c implemented out-of-memory guards for xmalloc(), xrealloc(), and xstrdup() using assert(data != NULL). The C standard specifies that all assert() expressions are compiled out when NDEBUG is defined at build time. NDEBUG is commonly defined in release and packaging builds (Debian, Fedora, Arch package flags all define it via -DNDEBUG in CFLAGS). With the guard removed, xmalloc/xrealloc/xstrdup silently return NULL on allocation failure. Every caller in the codebase dereferences the return value without a NULL check -- this is the intended design, as the guard was supposed to abort before the dereference. With the guard gone, any allocation failure causes a NULL pointer dereference, crashing the PAM module. A crash in a PAM module loaded by sudo or login causes authentication to fail for the duration of the crash, creating a local denial-of-service condition. An attacker who can induce memory pressure at authentication time can lock all users out of sudo and login. This vulnerability is fixed in 0.9.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
空指针解引用
Source: CVE Program / CVE List V5
Vulnerability Title
pam_usb 代码问题漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
pam_usb是McDope个人开发者的一个基于USB设备的Linux硬件认证工具。 pam_usb 0.9.0之前版本存在代码问题漏洞,该漏洞源于内存分配失败时断言被编译移除导致空指针解引用,可能导致本地拒绝服务。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
mcdope pam_usb < 0.9.0 -

II. Public POCs for CVE-2026-47271

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-47271

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-47271 (1)

Vendor Advisories for CVE-2026-47271 (1)

Same Patch Batch · mcdope · 2026-05-27 · 15 CVEs total

CVE-2026-44713 8.8 HIGH pam_usb: Command injection via $TMUX environment variable leads to RCE as root
CVE-2026-44712 8.2 HIGH pam_usb: Shell injection via device UUID and username in pamusb-conf and pamusb-agent
CVE-2026-48064 8.1 HIGH pam_usb: PAM_RHOST check skipped when deny_remote=false allows XDMCP authentication bypass
CVE-2026-44711 7.9 HIGH pam_usb: Symlink attacks on pad directory and pad files enable authentication bypass and r
CVE-2026-44709 7.8 HIGH pam_usb: PINENTRY_FALLBACK_APP environment variable allows arbitrary command execution
CVE-2026-47269 7.4 HIGH pam_usb: deny_remote feature incorrectly classifies IPv4-mapped IPv6 remote connections as
CVE-2026-47272 7.1 HIGH pam_usb: OTP pad authentication bypass via missing system pad check and uninitialized RNG
CVE-2026-48065 6.7 MEDIUM pam_usb: Unchecked integer multiplication before xmalloc() in conf.c allows heap-based buf
CVE-2026-47273 6.5 MEDIUM pam_usb: XPath injection via PAM-supplied identifiers in pam_usb configuration queries
CVE-2026-47274 6.3 MEDIUM pam_usb: Uncontrolled search path in pam_usb tools allows privilege escalation via PATH ma
CVE-2026-47270 6.3 MEDIUM pam_usb: strtok() race condition in multi-threaded PAM hosts can corrupt deny_remote resul
CVE-2026-48066 5.7 MEDIUM pam_usb: Thread-unsafe static pointer in log.c causes data race under concurrent PAM authe
CVE-2026-44710 4.6 MEDIUM pam_usb: NULL pointer dereference from UDisks device fields causes PAM crash and login den
CVE-2026-48792 4.4 MEDIUM pam_usb: pusb_has_virtual_input_device() silently discards EACCES, disabling remote deskto

IV. Related Vulnerabilities

V. Comments for CVE-2026-47271

No comments yet


Leave a comment