Integer Overflow in JavaCV IPCameraFrameGrabber Leads to Denial of Service
An integer overflow vulnerability (CVE-2026-102834) in JavaCV's IPCameraFrameGrabber allows a network attacker to cause a permanent CPU-spinning denial-of-service by sending a crafted HTTP Content-Length header.
CVE search metadata
CVE search record: CVE-2026-102834. Severity: high. CVSS: 7.5. KEV: no. Product: JavaCV (< 1.5.14). Brief: Integer Overflow in JavaCV IPCameraFrameGrabber Leads to Denial of Service. Brief link: https://feed.craftedsignal.io/briefs/2026-10-javacv-dos/
The JavaCV library contains a critical vulnerability in the IPCameraFrameGrabber class (CVE-2026-102834) that stems from the lack of bounds checking on the Content-Length header parsed from multipart MJPEG HTTP streams. Applications using this class for camera stream ingestion are susceptible to a denial-of-service attack. A remote attacker - either a compromised camera device or a network-position attacker capable of tampering with unencrypted HTTP traffic - can send a crafted Content-Length header with a value between 1,073,741,825 and 2,147,483,647.
When ensureBufferCapacity(int) processes this value, the internal buffer-growth routine enters an infinite loop due to signed 32-bit integer overflow, where the capacity variable oscillates between negative values and zero. This causes the thread executing the grab() method to consume 100% of a CPU core permanently. The thread becomes non-responsive to interrupts, timeouts, or socket closures, effectively hanging the application thread until the entire JVM process is terminated. This affects all JavaCV versions prior to 1.5.14.
Attack Chain
- Attacker monitors or compromises the network path between a camera and the target application.
- The target application initiates a connection to an MJPEG stream using
IPCameraFrameGrabber. - The attacker intercepts the HTTP response from the camera stream before it reaches the victim.
- The attacker injects a malicious HTTP header
Content-Lengthwith a value in the range [1073741825, 2147483647]. - The
IPCameraFrameGrabberparses the malicious header into thecontentLengthvariable. - The
ensureBufferCapacitymethod is called, triggering the unsigned integer multiplication loop. - Integer overflow causes the
capacityvariable to wrap toInteger.MIN_VALUEand eventually0, creating an infinite loop. - The CPU utilization of the affected application thread hits 100%, causing a thread-level denial of service.
Impact
The vulnerability allows an attacker to permanently disable the camera-grabbing functionality of any application using affected versions of JavaCV. In environments where applications spawn individual threads for multiple cameras, an attacker can trigger this vulnerability across multiple connections, leading to resource exhaustion, elevated CPU load, and a complete system-level denial of service.
Recommendation
Update the org.bytedeco:javacv dependency to version 1.5.14 or later across all applications utilizing IPCameraFrameGrabber. Teams should also prioritize upgrading camera infrastructure to support HTTPS to mitigate the risk of network-position attackers tampering with the plaintext HTTP response headers.
Mitigations
Upgrade JavaCV to version 1.5.14 or later
CVE-2026-102834