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"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48065.json",
"cna_assigner": "GitHub_M"
}[
{
"source": "https://github.com/mcdope/pam_usb/commit/e2f30b22cd0715fcde0fc62d6ee3e1ca6370b8a9",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"32897324108646938673138056869665931337"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2026-48065-b792a2ae",
"target": {
"file": "src/version.h"
}
}
]
"2026-07-18T03:58:35Z"
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48065.json"