Home

Description

Linux-PAM through 1.7.2 contains an observable timing discrepancy (CWE-208) in the pam_userdb module's plaintext-password comparison path in modules/pam_userdb/pam_userdb.c that allows a local or network-adjacent attacker able to repeatedly drive authentication through a calling service to recover the plaintext password of a target account by measuring response-timing differences. The comparison uses strncmp() (or strncasecmp() when PAM_ICASE_ARG is set) preceded by a length-equality check, so the time to reject a candidate depends on the index of the first differing byte and on whether the candidate's length matches the stored password, leaking the password length and individual prefix bytes. The vulnerable path is reached when the administrator configures pam_userdb with crypt=none, with an unrecognized crypt method, or without a crypt= argument, causing the module to store and compare credentials in plaintext.

PUBLISHED Reserved 2026-06-13 | Published 2026-06-14 | Updated 2026-06-15 | Assigner TuranSec




MEDIUM: 6.9CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/AU:N/V:D

An attacker repeatedly authenticates through a service that calls pam_userdb (plaintext mode) and measures the time the service takes to reject each candidate password to learn the password length and recover the password one byte at a time.

MEDIUM: 5.9CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

Problem types

CWE-208 Observable Timing Discrepancy

Product status

Default status
unknown

Any version
affected

Credits

Xurshidbek Sobirjonov finder

References

github.com/linux-pam/linux-pam (Linux-PAM - upstream repository) product

github.com/...am/blob/master/modules/pam_userdb/pam_userdb.c (Vulnerable plaintext-password comparison in pam_userdb.c (master)) product

github.com/...ux-pam/blob/master/libpam/include/pam_inline.h (pam_consttime_streq helper available for the remediation) product

cwe.mitre.org/data/definitions/208.html (CWE-208: Observable Timing Discrepancy) technical-description

cve.org (CVE-2026-54411)

nvd.nist.gov (CVE-2026-54411)

Download JSON