CVE-2016-20099 in L-SMASHinfo

Summary

by MITRE • 10/14/2026

L-SMASH through 2.14.5 contains an infinite loop vulnerability in vc1_importer_probe() in importer/vc1_imp.c that allows attackers to hang applications via crafted input files. Attackers can supply a file consisting only of zero bytes, which lsmash_read_file() probes automatically, causing indefinite CPU consumption and denial of service.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/14/2026

The vulnerability identified within L-SMASH versions up to 2.14.5 represents a critical reliability flaw located in the video codec import module, specifically affecting the VC-1 importer component. This issue manifests as an infinite loop condition triggered during the file probing phase of media processing operations. The root cause lies in the implementation of the vc1_importer_probe function within the source file importer/vc1_imp.c. When L-SMASH is tasked with analyzing a multimedia container to determine its format and codec compatibility, it invokes this probe routine to inspect header structures and stream characteristics. In standard operation, this process should terminate quickly upon identifying valid markers or reaching an end-of-file condition. However, due to insufficient boundary checks and loop termination conditions within the VC-1 parsing logic, specific malformed inputs can cause the execution flow to enter a state where it continuously iterates without ever satisfying the exit criteria required to break out of the processing cycle.

The operational impact of this vulnerability is primarily centered on resource exhaustion leading to denial of service scenarios. Attackers who possess the ability to supply or influence input files used by applications integrating L-SMASH can exploit this flaw with minimal effort. By providing a crafted file consisting entirely of zero bytes, an attacker triggers the problematic code path within lsmash_read_file which automatically probes incoming data streams for format identification. Because the probe function fails to detect valid VC-1 headers or handle empty payloads correctly, it enters an infinite loop that consumes one hundred percent of a single CPU core indefinitely. This results in the hanging of the host application, rendering it unresponsive and effectively denying service to legitimate users who rely on the media processing capabilities provided by L-SMASH. The severity is compounded by the fact that many applications automatically probe files upon opening them, meaning no complex interaction or specific user action beyond file selection may be required to trigger the exploit in vulnerable implementations.

From a technical classification perspective, this vulnerability aligns with CWE-835, which describes loops that do not terminate correctly due to missing exit conditions or incorrect loop control variables. It also relates closely to CWE-400 regarding uncontrolled resource consumption, as the infinite execution leads directly to CPU saturation and application hang. In terms of adversarial tactics, this behavior is consistent with ATT&CK technique T1496, Resource Hijacking, where an attacker uses computing resources for their own benefit or causes disruption by exhausting system capacity through inefficient code paths triggered by malicious input. The lack of proper validation on the length and content of the data stream during the initial probing stage allows this low-complexity attack to succeed against systems that do not implement external timeouts or sandboxing mechanisms around media parsing libraries.

Mitigation strategies for this vulnerability involve both immediate patching and architectural improvements in how L-SMASH is integrated into host applications. The primary remediation step is to upgrade the L-SMASH library to a version newer than 2.14.5, where developers have addressed the infinite loop condition within vc1_importer_probe by adding appropriate checks for empty or malformed data streams and ensuring that all loops contain valid termination conditions based on file size or stream boundaries. For applications unable to update immediately, implementing timeout mechanisms around media probing functions can prevent indefinite CPU consumption. Additionally, integrating input validation layers that reject files with suspicious characteristics, such as those consisting entirely of null bytes without valid container headers, before they reach the L-SMASH parser can provide an additional layer of defense. Developers should also consider running untrusted media processing tasks in isolated environments or sandboxed processes to limit the blast radius if a vulnerability is triggered, thereby protecting the stability and availability of the broader application ecosystem.

Responsible

VulnCheck

Reservation

10/14/2026

Disclosure

10/14/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!