Description
FFmpeg through 9.0.2 contains a stack exhaustion vulnerability in av_encryption_init_info_free() in libavutil/encryption_info.c, which recursively frees AVEncryptionInitInfo linked lists built by the MOV demuxer's mov_read_pssh(). Attackers can supply a crafted MP4 file with tens of thousands of small pssh boxes to exhaust the stack and crash the process, while also causing quadratic CPU consumption.
Published: 2026-10-08
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via stack exhaustion and high CPU consumption
Action: Patch
AI Analysis

Impact

The flaw resides in FFmpeg's decryption initialization path for MOV files. When an attacker supplies an MP4 containing thousands of tiny pSSH boxes, the demuxer builds an extensive linked list of AVEncryptionInitInfo structures. Freeing that list causes av_encryption_init_info_free() to recurse for every node, exhausting the stack and crashing the process. The recursive traversal also results in quadratic CPU usage, which can degrade performance or lead to a resource exhaustion denial of service. This behavior corresponds to CWE-674 (Uncontrolled Recursion) and CWE-770 (Out‑of‑Bounds Write).

Affected Systems

FFmpeg versions 9.0.2 and earlier are affected. The vulnerable code resides in libavformat/mov.c and libavutil/encryption_info.c. Any build of FFmpeg that has not applied the subsequent patch and is used to process MP4 files is susceptible.

Risk and Exploitability

The CVSS score of 5.7 indicates moderate severity, with potential to crash the process and consume excessive CPU, leading to denial of service. The EPSS score is not available, so the likelihood of exploitation is unclear from publicly available data. The flaw is not listed in CISA's KEV catalog. An attacker can exploit the issue by creating a malicious MP4 file with an unusually large number of small pSSH boxes. The likely attack vector is local file input to an application that uses the vulnerable FFmpeg build, but the risk could be extended to remote exploitation if the application provides a file upload or media ingestion endpoint that accepts MP4 content.

Generated by OpenCVE AI on October 9, 2026 at 03:11 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade FFmpeg to 9.0.3 or later, which removes the recursive free in av_encryption_init_info_free()
  • If an upgrade is not possible, validate or reject MP4 files that contain a large number of pSSH boxes before passing them to FFmpeg
  • Configure monitoring to detect crashes or abnormal CPU spikes during MP4 decoding to identify exploitation attempts

Generated by OpenCVE AI on October 9, 2026 at 03:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 09 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 08 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 08 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
Description FFmpeg through 9.0.2 contains a stack exhaustion vulnerability in av_encryption_init_info_free() in libavutil/encryption_info.c, which recursively frees AVEncryptionInitInfo linked lists built by the MOV demuxer's mov_read_pssh(). Attackers can supply a crafted MP4 file with tens of thousands of small pssh boxes to exhaust the stack and crash the process, while also causing quadratic CPU consumption.
Title FFmpeg through 9.0.2 Stack Exhaustion via Recursive Free of pssh Boxes
First Time appeared Ffmpeg
Ffmpeg ffmpeg
Weaknesses CWE-674
CPEs cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:*
Vendors & Products Ffmpeg
Ffmpeg ffmpeg
References
Metrics cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 5.7, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-08T17:51:49.706Z

Reserved: 2026-10-08T15:11:28.450Z

Link: CVE-2026-107678

cve-icon Vulnrichment

Updated: 2026-10-08T16:00:33.288Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-08T16:17:05.747

Modified: 2026-10-14T23:55:04.477

Link: CVE-2026-107678

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-08T15:28:43Z

Links: CVE-2026-107678 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T03:15:15Z

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-770

    Allocation of Resources Without Limits or Throttling