{"id":"CVE-2026-48065","summary":"pam_usb: Unchecked integer multiplication before xmalloc() in conf.c allows heap-based buffer overflow on 32-bit targets","details":"pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.1, src/conf.c allocates heap memory proportional to n_devices, a count derived from libxml2 XPath evaluation of the config file, without first enforcing an upper bound. On 32-bit targets (armv7l, i686 -- both listed in the project Makefile), the multiplication n_devices * sizeof(t_pusb_device) wraps around size_t, causing xmalloc() to receive a very small size. Because xmalloc() only calls abort() on NULL return, a small-but-non-NULL allocation is accepted, and subsequent array writes overflow the heap. This vulnerability is fixed in 0.9.1.","aliases":["GHSA-24mw-m2vf-36vp"],"modified":"2026-07-18T03:58:35.689401Z","published":"2026-05-27T19:58:36.447Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-122","CWE-190"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48065.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48065.json"},{"type":"ADVISORY","url":"https://github.com/mcdope/pam_usb/security/advisories/GHSA-24mw-m2vf-36vp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48065"},{"type":"REPORT","url":"https://github.com/mcdope/pam_usb/issues/352"},{"type":"REPORT","url":"https://github.com/mcdope/pam_usb/issues/55"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/mcdope/pam_usb","events":[{"introduced":"0"},{"fixed":"e2f30b22cd0715fcde0fc62d6ee3e1ca6370b8a9"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.9.1"}],"source":"AFFECTED_FIELD"}}],"versions":["0.9.0","0.8.7","0.8.4","0.8.3","v0.8.0","0.7.3","0.7.2","0.7.1","v0.7.0","0.5.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48065.json","vanir_signatures_modified":"2026-07-18T03:58:35Z","vanir_signatures":[{"deprecated":false,"digest":{"line_hashes":["32897324108646938673138056869665931337"],"threshold":0.9},"id":"CVE-2026-48065-b792a2ae","signature_type":"Line","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/e2f30b22cd0715fcde0fc62d6ee3e1ca6370b8a9","target":{"file":"src/version.h"}}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"}]}