{"id":"CVE-2026-120451","kind":"vulnerability","aliases":["CVE-2026-120451"],"related":[],"title":"libgphoto2: malicious USB camera overflows memory during camera setup","description":"libgphoto2 through 2.5.34 contains stack-based and heap-based buffer overflow vulnerabilities in jl2005c_init() that allow malicious USB devices to corrupt memory by supplying an unbounded allocation table entry count. Attackers can connect a spoofed Jeilin JL2005B/C/D camera reporting 1022 or more entries to overwrite the saved return address and heap data, potentially achieving code execution.","summary":"libgphoto2 through 2.5.34 has stack and heap buffer overflows in its jl2005c_init() routine for Jeilin JL2005B/C/D cameras. A malicious USB device reporting 1022 or more allocation table entries can overwrite the saved return address and heap data, potentially allowing code execution.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["libgphoto2","linux","package","photo-tools","usb"],"not_affected_if":["no-jeilin-camera-driver","no-untrusted-usb-devices"],"how_to_check":"- Check the installed version with `gphoto2 --version` or the libgphoto2 package version on the system.\n- Look for libgphoto2 in application dependencies or bundled libraries, such as Linux distro packages or desktop photo tools.","fix":"- libgphoto2: patches are linked from the sources, but the fixed version number is unknown from the sources given.","status":"open","published_at":"2026-11-02T15:17:28+00:00","first_seen_at":"2026-11-02T15:24:03+00:00","triaged_at":"2026-11-02T15:26:07+00:00","updated_at":"2026-11-02T15:26:07+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-02T15:26:07Z","model":"claude-haiku-5-5","output":{"fix":"- libgphoto2: patches are linked from the sources, but the fixed version number is unknown from the sources given.","reach":"local","title":"libgphoto2: malicious USB camera overflows memory during camera setup","impact":"high","summary":"libgphoto2 through 2.5.34 has stack and heap buffer overflows in its jl2005c_init() routine for Jeilin JL2005B/C/D cameras. A malicious USB device reporting 1022 or more allocation table entries can overwrite the saved return address and heap data, potentially allowing code execution.","audience":"developers","category":"package","nicknames":[],"who_cares":["libgphoto2","linux","photo-tools","usb"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"code runs with the privileges of the libgphoto2 process","analyst_note":"Confirm the fixed version from the linked github.com patch commits and the vulncheck advisory; the sources do not name it.","how_to_check":"- Check the installed version with `gphoto2 --version` or the libgphoto2 package version on the system.\n- Look for libgphoto2 in application dependencies or bundled libraries, such as Linux distro packages or desktop photo tools.\n- unknown whether the sources list a specific affected build beyond 2.5.34 and earlier.","plain_action":"","needs_analyst":true,"not_affected_if":["no-untrusted-usb-devices","no-jeilin-camera-driver"],"who_is_affected":"The flaw is in the camera driver code path of libgphoto2 and needs a USB device that presents itself as a Jeilin JL2005B/C/D camera. Systems that never connect untrusted USB devices to libgphoto2-based tools face much lower exposure. unknown whether the sources describe other camera drivers.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000751,"input_tokens":4230,"output_tokens":656,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-120451':12A,15A '-2026':11A,14A '1022':46B,107C '2.5.34':25B,67C 'achiev':121C 'address':57B,116C 'alloc':49B,94C 'allow':62B,83C 'attack':98C 'base':71C,75C 'buffer':30B,76C 'camera':4A,8A,40B,105C 'code':63B,122C 'connect':100C 'contain':68C 'corrupt':88C 'count':97C 'cve':10A,13A 'data':60B,119C 'devic':44B,86C 'entri':51B,96C,110C 'execut':64B,123C 'heap':29B,59B,74C,118C 'heap-bas':73C 'init':35B,81C 'jeilin':38B,103C 'jl2005b/c/d':39B,104C 'jl2005c':34B,80C 'libgphoto2':1A,16B,23B,65C 'linux':17B 'malici':2A,42B,84C 'memori':6A,89C 'overflow':5A,31B,77C 'overwrit':53B,112C 'packag':18B 'photo':20B 'photo-tool':19B 'potenti':61B,120C 'report':45B,106C 'return':56B,115C 'routin':36B 'save':55B,114C 'setup':9A 'spoof':102C 'stack':27B,70C 'stack-bas':69C 'suppli':91C 'tabl':50B,95C 'tool':21B 'unbound':93C 'usb':3A,22B,43B,85C 'vulner':78C","nicknames":[],"mitigations":[],"who_affected":"The flaw is in the camera driver code path of libgphoto2 and needs a USB device that presents itself as a Jeilin JL2005B/C/D camera. Systems that never connect untrusted USB devices to libgphoto2-based tools face much lower exposure. unknown whether the sources describe other camera drivers.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","libgphoto2","linux","package","phototools","usb"],"first_public_at":"2026-11-02T15:17:28+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120451","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120451","severity":null,"published_at":"2026-11-02T15:17:28+00:00","modified_at":"2026-11-02T15:17:28+00:00","first_seen_at":"2026-11-02T15:24:03+00:00","fetched_at":"2026-11-02T15:24:03+00:00","note":null}],"documents":[{"id":52495,"url":"https://github.com/gphoto/libgphoto2/commit/6a3393dd996502457ab965432cf0b2035278825e","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":52496,"url":"https://github.com/gphoto/libgphoto2/commit/af3b8e9c542cda863fb5f2f3cfeb261bd78e4442","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":52497,"url":"https://www.vulncheck.com/advisories/libgphoto2-through-2.5.34-buffer-overflow-via-jl2005c-camera-driver","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}