{"id":"CVE-2026-120451","aliases":["AZL-112520","DEBIAN-CVE-2026-120451","EUVD-2026-115211","GHSA-7rfg-j54g-6xm2","UBUNTU-CVE-2026-120451","USN-9017-1"],"status":"published","title":"libgphoto2 through 2.5.34 Buffer Overflow via jl2005c Camera Driver","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.","severity":{"version":"4.0","score":7,"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00225,"percentile":0.13339,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787"],"published":"2026-11-02T14:29:09Z","modified":"2026-11-11T10:47:25Z","fixes":[{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libgphoto2","fixed_in":["2.5.3.1-1ubuntu2.2+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libgphoto2","fixed_in":["2.5.9-3ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libgphoto2","fixed_in":["2.5.16-2ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libgphoto2","fixed_in":["2.5.25-0ubuntu0.1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:22.04:LTS","package":"libgphoto2","fixed_in":["2.5.27-1ubuntu0.2"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"libgphoto2","fixed_in":["2.5.31-2.1ubuntu1.2"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.10","package":"libgphoto2","fixed_in":["2.5.33-1ubuntu2.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"libgphoto2","fixed_in":["2.5.33-1ubuntu1.2"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.5.31-1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.30-1","2.5.31-1","2.5.31-2","2.5.31-2.1","2.5.31-2.1~exp1","2.5.31-3","2.5.31-4","2.5.32-1","2.5.33-1","2.5.34-1","2.5.34-2"]},{"source":"osv","ecosystem":"Debian:13","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.31-4","2.5.32-1","2.5.33-1","2.5.34-1","2.5.34-2"]},{"source":"osv","ecosystem":"Debian:14","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.31-4","2.5.32-1","2.5.33-1","2.5.34-1","2.5.34-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.3.1-1ubuntu2.2+esm1"}]}],"versions":["2.5.2-0ubuntu5","2.5.2-0ubuntu6","2.5.3.1-0ubuntu1","2.5.3.1-1ubuntu2","2.5.3.1-1ubuntu2.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.9-3ubuntu0.1~esm1"}]}],"versions":["2.5.8-1","2.5.8-2","2.5.8-3","2.5.9-2","2.5.9-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.16-2ubuntu0.1~esm1"}]}],"versions":["2.5.14-1","2.5.16-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.25-0ubuntu0.1+esm1"}]}],"versions":["2.5.23-2","2.5.24-1","2.5.25-0ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.27-1ubuntu0.2"}]}],"versions":["2.5.27-1","2.5.27-1build1","2.5.27-1build2","2.5.27-1ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.31-2.1ubuntu1.2"}]}],"versions":["2.5.30-1","2.5.31-1","2.5.31-2","2.5.31-2.1build1","2.5.31-2.1build2","2.5.31-2.1ubuntu1","2.5.31-2.1ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.33-1ubuntu2.1"}]}],"versions":["2.5.33-1ubuntu1","2.5.33-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.33-1ubuntu1.2"}]}],"versions":["2.5.31-4build1","2.5.32-1","2.5.33-1","2.5.33-1ubuntu1","2.5.33-1ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.3.1-1ubuntu2.2+esm1"}]}],"versions":["2.5.2-0ubuntu5","2.5.2-0ubuntu6","2.5.3.1-0ubuntu1","2.5.3.1-1ubuntu2","2.5.3.1-1ubuntu2.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.9-3ubuntu0.1~esm1"}]}],"versions":["2.5.8-1","2.5.8-2","2.5.8-3","2.5.9-2","2.5.9-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.16-2ubuntu0.1~esm1"}]}],"versions":["2.5.14-1","2.5.16-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.25-0ubuntu0.1+esm1"}]}],"versions":["2.5.23-2","2.5.24-1","2.5.25-0ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.27-1ubuntu0.2"}]}],"versions":["2.5.27-1","2.5.27-1build1","2.5.27-1build2","2.5.27-1ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.31-2.1ubuntu1.2"}]}],"versions":["2.5.30-1","2.5.31-1","2.5.31-2","2.5.31-2.1build1","2.5.31-2.1build2","2.5.31-2.1ubuntu1","2.5.31-2.1ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.33-1ubuntu2.1"}]}],"versions":["2.5.33-1ubuntu1","2.5.33-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libgphoto2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.33-1ubuntu1.2"}]}],"versions":["2.5.31-4build1","2.5.32-1","2.5.33-1","2.5.33-1ubuntu1","2.5.33-1ubuntu1.1"]}],"products":[{"vendor":"gphoto","product":"libgphoto2"}],"references":[{"url":"https://github.com/gphoto/libgphoto2/issues/1326","tags":["issue-tracking","report"]},{"url":"https://github.com/gphoto/libgphoto2/commit/af3b8e9c542cda863fb5f2f3cfeb261bd78e4442","tags":["patch","fix","report"]},{"url":"https://github.com/gphoto/libgphoto2/commit/6a3393dd996502457ab965432cf0b2035278825e","tags":["patch","fix","report"]},{"url":"https://github.com/gphoto/libgphoto2/blob/v2.5.34/camlibs/jl2005c/jl2005c.c#L138-L154","tags":["technical-description","article","report"]},{"url":"https://hackmd.io/@haindpwn/libgphoto2-jl2005c-init-alloc-table-buffer-overflow","tags":["technical-description","exploit","article","report"]},{"url":"https://www.vulncheck.com/advisories/libgphoto2-through-2.5.34-buffer-overflow-via-jl2005c-camera-driver","tags":["third-party-advisory","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120451","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-7rfg-j54g-6xm2"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120451.json","tags":["advisory"]},{"url":"https://github.com/gphoto/libgphoto2","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-120451","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-120451","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-120451","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-9017-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-120452","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-120451","title":"libgphoto2 through 2.5.34 Buffer Overflow via jl2005c Camera Driver","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.","status":"published","published":"2026-11-02T14:29:09.529Z","modified":"2026-11-06T19:33:49.177Z","cvss":[{"version":"4.0","score":7,"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","level":"high","assessor":"cna"},{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-787"],"updated_at":"2026-11-06T20:30:04.265548Z"}],"euvd":[{"id":"EUVD-2026-115211","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.","status":"published","published":"2026-11-02T14:29:09Z","modified":"2026-11-06T19:33:49Z","cvss":[{"version":"4.0","score":7,"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","level":"high"}],"updated_at":"2026-11-06T20:06:05.048214Z"}],"ghsa":[{"id":"GHSA-7rfg-j54g-6xm2","title":"libgphoto2 through 2.5.34 contains stack-based and heap-based buffer overflow vulnerabilities in...","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.","status":"published","published":"2026-11-02T15:31:43Z","modified":"2026-11-02T15:31:43Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"},{"version":"4.0","score":7,"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","level":"high"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T18:00:16.184668Z"}],"nvd":[{"id":"CVE-2026-120451","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.","status":"published","published":"2026-11-02T15:17:28.357Z","modified":"2026-11-06T20:17:17.567Z","cvss":[{"version":"4.0","score":7,"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","level":"high","assessor":"secondary"},{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-787"],"updated_at":"2026-11-06T22:02:16.10095Z"}],"osv":[{"id":"CVE-2026-120451","title":"libgphoto2 through 2.5.34 Buffer Overflow via jl2005c Camera Driver","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.","status":"published","published":"2026-11-02T14:29:09.529Z","modified":"2026-11-11T13:21:00.371873595Z","cvss":[{"version":"4.0","score":7,"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","level":"high"}],"cwes":["CWE-787"],"updated_at":"2026-11-07T11:15:38.581573Z"},{"id":"DEBIAN-CVE-2026-120451","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.","status":"published","published":"2026-11-02T15:17:28.357Z","modified":"2026-11-07T10:01:23.997022849Z","cvss":[{"version":"4.0","score":7,"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","level":"high"}],"updated_at":"2026-11-07T10:13:34.340634Z"},{"id":"UBUNTU-CVE-2026-120451","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.","status":"published","published":"2026-11-02T15:17:00Z","modified":"2026-11-11T09:37:13.458640615Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"},{"version":"4.0","score":7,"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","level":"high"}],"updated_at":"2026-11-11T10:01:18.620522Z"},{"id":"AZL-112520","title":"CVE-2026-120451 affecting package libgphoto2 2.5.31-1","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.","status":"published","published":"2026-11-02T15:17:28Z","modified":"2026-11-05T05:36:30Z","updated_at":"2026-11-05T16:41:19.001909Z"},{"id":"USN-9017-1","title":"libgphoto2 vulnerabilities","description":"It was discovered that libgphoto2 did not properly manage memory when\ninitializing certain cameras. If a user were tricked into connecting a\nmalicious USB device, an attacker could possibly use this issue to cause\nlibgphoto2 to crash, resulting in a denial of service, or possibly execute\narbitrary code. (CVE-2026-120451)\n\nIt was discovered that libgphoto2 did not properly manage memory when\nprocessing certain thumbnails. If a user were tricked into connecting a\nmalicious USB device, an attacker could possibly use this issue to cause\nlibgphoto2 to crash, resulting in a denial of service, or expose sensitive\ninformation. (CVE-2026-120452)","status":"published","published":"2026-11-10T06:01:57Z","modified":"2026-11-11T09:34:56.579969631Z","updated_at":"2026-11-11T10:04:27.123105Z"}]}}
