pamusb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.1, src/conf.c allocates heap memory proportional to ndevices, 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 ndevices * sizeof(tpusbdevice) wraps around sizet, 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.
{
"cwe_ids": [
"CWE-122",
"CWE-190"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48065.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48065.json"
[
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"32897324108646938673138056869665931337"
]
},
"target": {
"file": "src/version.h"
},
"source": "https://github.com/mcdope/pam_usb/commit/e2f30b22cd0715fcde0fc62d6ee3e1ca6370b8a9",
"signature_version": "v1",
"id": "CVE-2026-48065-b792a2ae",
"deprecated": false
}
]
"2026-08-12T16:25:27Z"