CVE-2026-56208
High · 7.6CVSS
7.6
EPSS
0.4%
Published
Jun 19, 2026
CISA due date
—
Cloudanix analysis
A flaw in a video encoding library can let a specially triggered AV1 encoding job crash the service and may, in some cases, allow deeper system compromise.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This vulnerability is a heap-based out-of-bounds write in libaom, the reference AV1 encoder. When AV1 Look-Ahead Processing mode is used and g_lag_in_frames is set to 1 or greater, the first-pass statistics ring-buffer wrap-around guard can be bypassed. After the second encoded frame, the encoder writes 232 bytes beyond the intended heap buffer on each subsequent frame, corrupting adjacent heap memory. The most likely outcome is encoder process termination, but because the flaw corrupts heap objects, code execution may be possible depending on allocator behavior, process hardening, and attacker control over surrounding memory layout.
Why it matters to the business
Organizations that expose AV1 encoding through media upload pipelines, transcoding services, collaboration tools, streaming platforms, or WebRTC-capable applications could experience service crashes, failed media processing jobs, and reduced availability. If exploitation proves reliable for code execution, systems performing untrusted media encoding could become an initial foothold for broader compromise. Current public exploitation signals are low: EPSS is low, there is no known CISA KEV listing, no ransomware association is reported, and exploit maturity is listed as none; however, internet-facing or multi-tenant encoding services should still treat this as a meaningful availability and potential compromise risk.
How an attack unfolds
An attacker needs a path to cause a vulnerable libaom-based component to encode AV1 video using Look-Ahead Processing with g_lag_in_frames set to 1 or higher. This may be possible through a media-transcoding API, a user-uploaded video workflow, an application that exposes encoder settings, or an interactive WebRTC scenario where encoder parameters can be influenced. Once the vulnerable encoder processes more than two frames under the affected configuration, the ring-buffer guard is bypassed and a 232-byte heap overwrite occurs repeatedly. In common cases this destabilizes the process and produces a crash or failed encoding job. A more advanced attacker may attempt to shape heap layout with repeated encoding requests or controlled media inputs to corrupt adjacent heap objects in a useful way, potentially leading to code execution in the context of the service running the encoder.
How to fix it
Upgrade libaom and any bundled or statically linked applications to a version containing the vendor fix as soon as one is available from the relevant distribution, application vendor, container base image, or package maintainer. Because no fixed versions were provided in the input, verify remediation against upstream libaom and downstream product advisories before closing the issue. Until patched, disable AV1 Look-Ahead Processing where feasible, force g_lag_in_frames to 0, and prevent untrusted users from controlling AV1 encoder parameters. For services that must continue AV1 encoding, run encoding workloads in hardened sandboxes or isolated worker processes with seccomp/AppArmor/SELinux profiles, low privileges, memory-safe job supervision, cgroup resource limits, and automatic crash containment. Restart workers after jobs to reduce heap grooming opportunities in high-risk multi-tenant environments.
How to confirm the fix worked
Inventory all products, services, containers, and media-processing tools that include libaom, including statically linked binaries and third-party applications that bundle their own codec libraries. Confirm the runtime libaom version or vendor build includes the fix, not just that the operating-system package manager was updated. Review encoder configuration to ensure Look-Ahead Processing is disabled or g_lag_in_frames is forced to 0 where mitigation is being used. In test environments, run representative AV1 encoding jobs with sanitizers or crash monitoring enabled to confirm the vulnerable heap overwrite is no longer reproducible. Validate that untrusted users cannot set AV1 lag/look-ahead parameters through APIs, job manifests, command-line wrappers, or WebRTC negotiation paths.
Typical attack path
- Identify an application or service that uses libaom for AV1 encoding or transcoding.
- Find a workflow where untrusted users can submit media, initiate WebRTC sessions, or influence AV1 encoder configuration.
- Cause the encoder to run in Look-Ahead Processing mode with g_lag_in_frames set to 1 or greater.
- Provide or trigger encoding of AV1 content with more than two frames.
- Trigger the out-of-bounds heap write during repeated frame processing.
- Cause denial of service through encoder crash, or attempt heap manipulation to achieve code execution if process protections can be bypassed.
How to detect it
Look for evidence of crashes or abnormal terminations in services that perform AV1 encoding using libaom. Useful sources include transcoding job logs, WebRTC service logs, application error logs, container restart events, systemd journals, kernel logs, crash dump directories, EDR process telemetry, and core-dump management systems. Focus on repeated failures shortly after AV1 encoding starts, especially jobs processing more than two frames with lag/look-ahead settings enabled. Search for heap corruption messages, sanitizer findings, segmentation faults, abort signals, or repeated restarts of encoder workers. Correlate crashes with untrusted media uploads, suspicious job configuration changes, API requests that set lag/look-ahead encoder options, or WebRTC sessions that negotiate AV1. Absence of these logs does not prove non-exploitation because heap corruption may only produce a generic crash and successful code execution may leave limited codec-specific evidence.
- g_lag_in_frames
- lag-in-frames=1
- --lag-in-frames=1
- lag-in-frames=2
- --lag-in-frames=2
- Look-Ahead Processing
- LAP mode
- AddressSanitizer: heap-buffer-overflow
- heap-buffer-overflow
- out-of-bounds write
- malloc(): corrupted top size
- malloc(): invalid size
- double free or corruption
- corrupted size vs. prev_size
- free(): invalid next size
- Segmentation fault
- SIGSEGV
- SIGABRT
- libaom
- aomenc
What your security team should do
- Prioritize externally reachable, multi-tenant, or user-upload-driven media processing systems that perform AV1 encoding.
- Determine whether libaom is used directly, bundled inside media frameworks, or statically linked into applications such as transcoders, streaming components, browsers, conferencing tools, or container images.
- Patch or redeploy affected components once fixed builds are available from upstream or downstream vendors.
- Apply temporary mitigations by disabling AV1 Look-Ahead Processing or forcing g_lag_in_frames to 0 where operationally acceptable.
- Restrict or validate all user-controllable encoder settings, especially lag/look-ahead parameters.
- Run encoder workloads with least privilege and process isolation so a crash or possible code execution cannot easily affect the host or adjacent workloads.
- Enable crash, core dump, and job-failure telemetry for AV1 encoding workers and alert on repeated crashes associated with untrusted inputs.
- Retain suspicious media inputs and job metadata for forensic analysis when AV1 encoder crashes occur.
- Monitor vendor advisories and exploit intelligence because code-execution reliability may change even though current EPSS and exploit maturity are low.
The record
A heap buffer overflow vulnerability was found in libaom, the reference AV1 codec implementation. A flaw in the AV1 encoder's Look-Ahead Processing (LAP) mode causes the first-pass stats ring buffer wrap-around guard to be bypassed when g_lag_in_frames is set to 1 or higher. This results in a 232-byte out-of-bounds write on every encoded frame after the second, corrupting adjacent heap objects. An attacker who can influence encoder configuration in a transcoding service or WebRTC session could exploit this to cause a denial of service (process crash) or potentially achieve code execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Leap 16.0 | libaom | 0 | 3.11.0-160000.3.1 |
| openSUSE:Leap 16.0 | libaom-devel-doc | 0 | 3.11.0-160000.3.1 |
Related vulnerabilities
- CVE-2026-56211 A remote code execution vulnerability was found in libaom, the reference AV1 codec… Also affects libaom
- CVE-2026-56209 An arbitrary address write vulnerability was found in libaom, the reference AV1 codec… Also affects libaom
- CVE-2026-56210 A heap-buffer-overflow read vulnerability was found in libaom, the reference AV1 codec… Also affects libaom
- CVE-2026-112403 Pillow is a Python imaging library. CWE-122
- CVE-2026-112393 Pillow is a Python imaging library. CWE-122
- CVE-2026-112395 Pillow is a Python imaging library. CWE-122
- CVE-2026-103658 GNU Aspell 0.60.8.2 (first vulnerable version is not known) contains a heap-based buffer… CWE-122
- CVE-2026-107161 A heap-based buffer overflow flaw was found in Cyrus SASL. CWE-122