Skip to main content

libgphoto2 EUVDEUVD-2026-115211

| CVE-2026-120451 HIGH
Out-of-bounds Write (CWE-787)
2026-11-02 VulnCheck GHSA-7rfg-j54g-6xm2
7.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect spoofed JL2005 USB camera
  2. Delivery
    Device reports 1022+ allocation entries
  3. Exploit
    Trigger overflow in jl2005c_init()
  4. Execution
    Overwrite saved return address and heap
  5. Impact
    Execute attacker-controlled code

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires physical attachment of a USB device that spoofs a Jeilin JL2005B/C/D camera so that libgphoto2's jl2005c camera driver is selected and jl2005c_init() runs; the malicious device must report an allocation-table entry count of 1022 or more, producing an oversized alloc_table_size that overflows both the local stack 'info' buffer and the heap priv->table buffer. Limiting factors: exploitation needs physical/local access to a USB port (AV:P) - it is not reachable over a network - and the target must actually probe/mount the device via the jl2005c driver path; it does require no authentication (PR:N) and no user interaction beyond device enumeration (UI:N). The pre-patch code lacked any bounds check on the device-supplied entry count; the vendor fix adds that validation, and updating is the fix the evidence provides.

Impact

The dominant, risk-limiting signal is the attack vector: the supplied CVSS 4.0 vector is AV:P (physical), meaning exploitation requires an attacker to physically connect a malicious USB device to the host - this is not a remotely reachable flaw despite the high 7.0 score and the 'RCE' tag. The remaining metrics are severe (AC:L, PR:N unauthenticated, UI:N, VC:H/VI:H/VA:H), so once a rogue device is attached the technical impact is full compromise of the affected process, but the physical prerequisite sharply narrows real-world exposure to scenarios involving untrusted USB peripherals (kiosks, shared workstations, forensic/evidence handling, supply-chain-tampered cameras). There is no KEV listing in the input and no EPSS score was provided, so there is no evidence of active exploitation or a quantified exploitation probability; the VulnCheck advisory and a hackmd technical write-up are present as a public PoC reference, but the input does not mark it as confirmed working exploit code. The vuln.today decision label is 'this_week', consistent with a serious memory-corruption bug that is not an emergency because of the physical access barrier. Net: this is a genuine code-execution-class bug worth patching on the stated this_week cadence, but it is a physical-access issue, not a widespread remote threat - the high CVSS reflects impact, not ease of reach.

Exploit ScenarioDerived

An attacker crafts or reflashes a USB device to impersonate a Jeilin JL2005B/C/D camera and physically connects it to a target Linux machine where libgphoto2's jl2005c driver probes it; the spoofed device reports 1022 or more allocation-table entries, triggering stack- and heap-based buffer overflows in jl2005c_init() that overwrite the saved return address and adjacent heap data to potentially execute attacker-controlled code. A public PoC reference exists (VulnCheck advisory and a hackmd write-up); it is not verified as working exploit code. Exploitation requires physical access (AV:P) but no authentication (PR:N) and no additional user interaction beyond the device being enumerated.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 02, 2026

Stack- and heap-based buffer overflows in libgphoto2 through 2.5.34's jl2005c_init() can corrupt memory and potentially permit code execution when a malicious USB device impersonates a Jeilin JL2005B/C/D camera. Exploitation requires physical attachment of the spoofed device; once enumerated by the jl2005c driver, a device-reported allocation-table entry count of 1022 or more overflows the local stack 'info' buffer and the heap priv->table buffer. The attack needs no authentication or user interaction beyond device enumeration, and the supplied data identifies upstream fixes but no confirmed active exploitation (CISA KEV) or verified working exploit code.

RemediationAI

Apply the upstream fixes referenced by the vendor: GitHub commits af3b8e9c542cda863fb5f2f3cfeb261bd78e4442 and 6a3393dd996502457ab965432cf0b2035278825e, or update to a libgphoto2 release that contains them; the supplied data does not provide a tagged fixed version, so the commit-level patches are the exact remediation available. Updating is the complete fix identified in the evidence. For hosts that cannot update immediately, reduce exposure by preventing untrusted USB devices from being enumerated through libgphoto2 (strict physical USB access controls), recognizing that this is only a compensating control and does not remove the memory-corruption flaw. The vuln.today priority label is this_week; monitor the upstream issue at https://github.com/gphoto/libgphoto2/issues/1326 for release status.

Affected VersionsENISA

libgphoto2 0 ≤2.5.34

Affected Packages

euvd libgphoto2 no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libgphoto2 is a userspace library used by digital-camera applications to communicate with cameras over USB and related protocols; its camlibs/jl2005c driver handles Jeilin JL2005B/C/D camera protocols. In jl2005c_init(), the driver derives an allocation-table size from the device-supplied nb_entries and uses it without validating it against the destination buffers. Per the supplied patch diff, the pre-fix code could write alloc_table_size bytes into the local stack buffer 'info' and into the heap buffer priv->table, so a malicious device reporting 1022 or more entries overflows both and can overwrite the saved return address and heap data. The flaw is CWE-787 (out-of-bounds write). The upstream fix adds checks that alloc_table_size fits sizeof(info) and that alloc_table_size - 0x30 fits sizeof(priv->table), returning GP_ERROR_CORRUPTED_DATA otherwise; a companion hunk in jl2005bcd_decompress.c adds a thumbnail payload size check. The CPE cpe:2.3:a:gphoto:libgphoto2:*:*:*:*:*:*:*:* covers libgphoto2 releases through 2.5.34.

Know when Libgphoto2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.0 HIGH
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
vuln.today AI 6.8 MEDIUM

AV:P because a malicious USB device must be physically attached; PR:N/UI:N since the driver auto-probes the device without auth; C/I/A:H for potential code execution via return-address overwrite.

3.1 AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Physical
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

CVE-2026-120451 is a high-severity buffer overflow vulnerability in libgphoto2, a library used by many applications to interact with digital cameras, which could allow an attacker to execute arbitrary code on affected systems. The vulnerability requires physical access to a system via a malicious USB device, limiting the attack surface but still posing a risk to sensitive environments. Leadership should prioritize patching because exploitation could lead to unauthorized code execution and potential data compromise, especially in organizations where physical access controls are not strictly enforced.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
High
camera access library bundled across most Linux desktop environments
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +35
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy