{"id":"CVE-2026-47273","summary":"pam_usb: XPath injection via PAM-supplied identifiers in pam_usb configuration queries","details":"pam_usb provides hardware authentication for Linux using ordinary removable media. Prior to 0.9.0, pam_usb builds XPath expressions from user-supplied identifiers (PAM username, service name) and device-supplied identifiers (USB device serial, model, vendor) to query /etc/pamusb.conf. These identifiers were not validated for XPath metacharacters, allowing injection of arbitrary XPath predicates. This vulnerability is fixed in 0.9.0.","aliases":["GHSA-vfj3-5h5v-6g93"],"modified":"2026-08-12T16:09:40.315673Z","published":"2026-05-27T20:03:39.297Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-91"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47273.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47273.json"},{"type":"ADVISORY","url":"https://github.com/mcdope/pam_usb/security/advisories/GHSA-vfj3-5h5v-6g93"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47273"},{"type":"FIX","url":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420"},{"type":"FIX","url":"https://github.com/mcdope/pam_usb/pull/311"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/mcdope/pam_usb","events":[{"introduced":"0"},{"fixed":"721fed08a3596cb5b4671ad702f8fdc12dcc7420"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.9.0"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["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":{"vanir_signatures_modified":"2026-08-12T16:09:40Z","vanir_signatures":[{"source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"function":"pusb_conf_parse","file":"src/conf.c"},"deprecated":false,"digest":{"function_hash":"310671743499104942899270600637756684978","length":3256},"id":"CVE-2026-47273-298ef5f8","signature_type":"Function","signature_version":"v1"},{"deprecated":false,"digest":{"length":983,"function_hash":"270339150120948850787340306911047059359"},"id":"CVE-2026-47273-2b5b8797","signature_type":"Function","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"src/conf.c","function":"pusb_conf_parse_options"}},{"deprecated":false,"digest":{"line_hashes":["246701530795718054760766359822102673647","163762952215095569774013772477832971739","232920681140646834693481693883826096748","149123065363384387112896112448975769662","46030852730075528956880356551658173343","221692598311262703710387801666091038650","81119492962989446877264989511180895977","232754034174691913719913256377319797327","216403504657403822020051177198098062289","88261366851343081187507998116848401570","141570330148475992474461485091056110662","233306314831964105930273343958581142593","96316546211728756959196745729648594453","126373424467606256217501060288548317469","30731470253983092546416543921991702255","230854825460418152943838715776612367349","144392624317396963876230002699789657553","233455148104437129001283558095861668116","89186948063608796069460967015909564041","205821891032032800981083820920145737526","5860235293892562734799130018079360840","201572138625204470285921500174429956175","41513266089693530692957876566759078435","14387766747173061755923643574437896863","209804995111564432711134090228489579826","76327817457152540844180179744807252129"],"threshold":0.9},"id":"CVE-2026-47273-4312013f","signature_type":"Line","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"src/conf.c"}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"src/conf.h"},"deprecated":false,"digest":{"line_hashes":["95018822407014656935460510796658212673","47101078584502193039357696094212759993","264918043665150147099799319676081503424","324404316164409777832522250046887967703","324835129630636283794632081393875026441"],"threshold":0.9},"id":"CVE-2026-47273-51f9deb6"},{"id":"CVE-2026-47273-7ecbc5de","signature_type":"Function","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"src/conf.c","function":"pusb_conf_parse_device"},"deprecated":false,"digest":{"function_hash":"114404690382973049510279634202138577957","length":706}},{"deprecated":false,"digest":{"line_hashes":["108488775856077732286113317730806169097","139738535580040197364407161876476359964","246920428864091627321906287672152200746","16778275172920344388998912056505594634","52599055438210507981449592238404711868","203939871491460022887287174427359917849","40737150561407681921634740536880617377"],"threshold":0.9},"id":"CVE-2026-47273-98e61752","signature_type":"Line","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"tests/unit/c/conf_test.c"}},{"digest":{"function_hash":"149155048978678720489076900114457885412","length":747},"id":"CVE-2026-47273-edda70a9","signature_type":"Function","signature_version":"v1","source":"https://github.com/mcdope/pam_usb/commit/721fed08a3596cb5b4671ad702f8fdc12dcc7420","target":{"file":"tests/unit/c/conf_test.c","function":"main"},"deprecated":false}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47273.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N"}]}