CVE-2026-56210: libaom: AV1 SVC bounds-check miss leaks heap, crashes

HIGH
Published June 19, 2026
CISO Take

CVE-2026-56210 is a missing bounds check in libaom's AV1 Scalable Video Coding layer-ID handling that lets an attacker set a spatial_layer_id beyond the configured layer count, forcing an out-of-bounds heap read of roughly 40KB. This matters because libaom ships as a base dependency across every Red Hat AI Inference Server and OpenShift AI container variant tracked here — CPU, CUDA 12.9/13.0, ROCm 6.4/7.0/7.1, Gaudi, Neuron, TPU and Spyre images, plus every vLLM build, KServe, AutoML, AutoRAG and workbench image — and the package graph shows 129 downstream dependents, so unpatched-image footprint is wide even though libaom itself is not AI-specific logic. Exploitation likelihood is modest in absolute terms (EPSS 0.245%, though that still ranks in the 84th percentile of all scored CVEs), there is no CISA KEV listing, no public PoC, and no Nuclei template, so this reads as a patch-management item rather than an active threat today. Real-world exposure hinges on whether any of these AI images expose a network-facing service that accepts attacker-influenced SVC encoder parameters, such as a multimodal media ingestion or transcoding path. Action: track Red Hat's RHSA-2026:30814 and the upstream fix (aomedia commit a93ba0ffaa), rebuild or pull patched base images for any RHAII/RHAIIS/RHOAI/vLLM deployment that touches video encoding, and in the interim validate or disable SVC layer configuration on any exposed encoding endpoint.

Sources: NVD EPSS CISA KEV ATLAS access.redhat.com aomedia.googlesource.com issues.chromium.org

What is the risk?

CVSS 7.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H) reflects a network-reachable, low-complexity, no-privilege flaw whose primary consequence is availability loss (segfault/DoS) with a secondary, lower-confidence confidentiality risk from heap content disclosure — integrity is unaffected. The requirement for user interaction (UI:R) means the victim service must actually process an attacker-influenced SVC configuration, which narrows real-world exposure to services that expose encoder configuration to untrusted input. Absolute exploitation probability is low (EPSS 0.245%), it is not in CISA KEV, and there is no public exploit code or Nuclei template — but the EPSS percentile (top 84%) and CWE-125's well-understood exploitation pattern mean this could move up the priority list quickly if a PoC surfaces. The dominant risk driver here is breadth of exposure: 129 downstream dependents and inclusion in nearly every accelerator variant of Red Hat's AI inference/serving container catalog, not sophistication of the attack itself.

How does the attack unfold?

Initial Access
Attacker submits a request to a network-facing AI/media service that accepts encoder configuration, including the number of AV1 SVC spatial layers.
AML.T0049
Exploitation
Attacker sets spatial_layer_id beyond the configured layer count; libaom's layer-ID control function skips the bounds check and computes an out-of-bounds index into the layer context array.
Impact - Information Disclosure
The resulting ~40KB heap over-read may expose adjacent process memory back to the attacker via an error response, encoded output, or log.
AML.T0025
Impact - Denial of Service
If the out-of-bounds read hits unmapped memory, the encoding process segfaults, crashing the worker and disrupting the AI inference/serving pipeline.
AML.T0029

What systems are affected?

Package Ecosystem Vulnerable Range Patched
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
vLLM pip No patch
89.1K 128 dependents Pushed 2d ago 24% patched ~49d to patch Full package profile →
aom No patch
aom-main No patch
firefox No patch
rhai/base-image-cpu-rhel9 No patch
rhai/base-image-cuda-12.9-rhel9 No patch
rhai/base-image-cuda-13.0-rhel9 No patch
rhai/base-image-gaudi-rhel9 No patch
rhai/base-image-neuron-rhel9 No patch
rhai/base-image-rocm-6.4-rhel9 No patch
rhai/base-image-rocm-7.0-rhel9 No patch
rhai/base-image-rocm-7.1-rhel9 No patch
rhai/base-image-spyre-rhel9 No patch
rhai/base-image-tpu-rhel9 No patch
rhaii/model-opt-cuda-rhel9 No patch
rhaiis/model-opt-cuda-rhel9 No patch
rhoai/odh-automl-rhel9 No patch
rhoai/odh-autorag-rhel9 No patch
rhoai/odh-kserve-autogluon-server-rhel9 No patch
rhoai/odh-llama-stack-core-rhel9 No patch
rhoai/odh-llm-d-kv-cache-rhel9 No patch
rhoai/odh-mlserver-rhel9 No patch
rhoai/odh-spark-operator-rhel9 No patch
rhoai/odh-th06-cpu-torch210-py312-rhel9 No patch
rhoai/odh-th06-cpu-torch291-py312-rhel9 No patch
rhoai/odh-th06-cuda130-torch210-py312-rhel9 No patch
rhoai/odh-th06-cuda130-torch291-py312-rhel9 No patch
rhoai/odh-th06-rocm64-torch291-py312-rhel9 No patch
rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9 No patch
rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 No patch
rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9 No patch
rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9 No patch
rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9 No patch
rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9 No patch
rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9 No patch
thunderbird No patch

How severe is it?

CVSS 3.1
7.1 / 10
EPSS
0.3%
chance of exploitation in 30 days
Higher than 21% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Moderate

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR None
UI Required
S Unchanged
C Low
I None
A High

What should I do?

1 step
  1. Patch: track Red Hat's RHSA-2026:30814 and pull rebuilt RHAII/RHAIIS/RHOAI/vLLM base images once Red Hat ships the fix; upstream, the flaw is fixed at aomedia commit a93ba0ffaa in the aom repository. Apply vendor updates to Firefox/Thunderbird on any workstation that opens untrusted web/media content. If immediate rebuilds aren't feasible, validate spatial_layer_id against the configured number of SVC layers at the application layer before it reaches libaom, or disable SVC encoding entirely on any network-facing encoding service that doesn't need it. Run video encoding/transcoding workers in isolated, resource-limited processes (separate from inference serving processes) so a crash or heap leak in the codec path doesn't take down or expose the model-serving process itself. Detection: monitor encoding worker processes for unexpected segfaults/crashes correlated with unusual SVC layer configuration values in request logs.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.10.2 - Third-party and supplier relationships
NIST AI RMF
GOVERN-6.1 - Policies and procedures for third-party AI system risks
OWASP LLM Top 10
LLM03 - Supply Chain Vulnerabilities

Frequently Asked Questions

What is CVE-2026-56210?

CVE-2026-56210 is a missing bounds check in libaom's AV1 Scalable Video Coding layer-ID handling that lets an attacker set a spatial_layer_id beyond the configured layer count, forcing an out-of-bounds heap read of roughly 40KB. This matters because libaom ships as a base dependency across every Red Hat AI Inference Server and OpenShift AI container variant tracked here — CPU, CUDA 12.9/13.0, ROCm 6.4/7.0/7.1, Gaudi, Neuron, TPU and Spyre images, plus every vLLM build, KServe, AutoML, AutoRAG and workbench image — and the package graph shows 129 downstream dependents, so unpatched-image footprint is wide even though libaom itself is not AI-specific logic. Exploitation likelihood is modest in absolute terms (EPSS 0.245%, though that still ranks in the 84th percentile of all scored CVEs), there is no CISA KEV listing, no public PoC, and no Nuclei template, so this reads as a patch-management item rather than an active threat today. Real-world exposure hinges on whether any of these AI images expose a network-facing service that accepts attacker-influenced SVC encoder parameters, such as a multimodal media ingestion or transcoding path. Action: track Red Hat's RHSA-2026:30814 and the upstream fix (aomedia commit a93ba0ffaa), rebuild or pull patched base images for any RHAII/RHAIIS/RHOAI/vLLM deployment that touches video encoding, and in the interim validate or disable SVC layer configuration on any exposed encoding endpoint.

Is CVE-2026-56210 actively exploited?

No confirmed active exploitation of CVE-2026-56210 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-56210?

Patch: track Red Hat's RHSA-2026:30814 and pull rebuilt RHAII/RHAIIS/RHOAI/vLLM base images once Red Hat ships the fix; upstream, the flaw is fixed at aomedia commit a93ba0ffaa in the aom repository. Apply vendor updates to Firefox/Thunderbird on any workstation that opens untrusted web/media content. If immediate rebuilds aren't feasible, validate spatial_layer_id against the configured number of SVC layers at the application layer before it reaches libaom, or disable SVC encoding entirely on any network-facing encoding service that doesn't need it. Run video encoding/transcoding workers in isolated, resource-limited processes (separate from inference serving processes) so a crash or heap leak in the codec path doesn't take down or expose the model-serving process itself. Detection: monitor encoding worker processes for unexpected segfaults/crashes correlated with unusual SVC layer configuration values in request logs.

What systems are affected by CVE-2026-56210?

This vulnerability affects the following AI/ML architecture patterns: model serving, multimodal inference pipelines, container/base-image supply chain, training data pipelines.

What is the CVSS score for CVE-2026-56210?

CVE-2026-56210 has a CVSS v3.1 base score of 7.1 (HIGH). The EPSS exploitation probability is 0.29%.

What is the AI security impact?

Affected AI Architectures

model servingmultimodal inference pipelinescontainer/base-image supply chaintraining data pipelines

MITRE ATLAS Techniques

AML.T0025 Exfiltration via Cyber Means
AML.T0029 Denial of AI Service
AML.T0049 Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.10.2
NIST AI RMF: GOVERN-6.1
OWASP LLM Top 10: LLM03

What are the technical details?

Original Advisory

A heap-buffer-overflow read vulnerability was found in libaom, the reference AV1 codec implementation. A missing bounds check in the SVC (Scalable Video Coding) layer ID control function allows setting a spatial_layer_id exceeding the configured number of layers. This causes an out-of-bounds heap read of approximately 40,728 bytes when computing a layer context array index. An attacker who can influence SVC encoder parameters in a network-facing service could exploit this for information disclosure (heap content leak) or denial of service (segmentation fault from hitting unmapped memory).

Exploitation Scenario

An attacker interacts with a network-facing AI media service — for example a multimodal ingestion or video-transcoding microservice fronting a vLLM/RHOAI deployment — that accepts user-influenced encoder configuration, including the number of SVC spatial layers. By submitting a request or job (satisfying the UI:R requirement, such as uploading a video or submitting an encode configuration) that sets spatial_layer_id higher than the number of layers the encoder was configured with, the attacker causes libaom's layer-ID control function to compute an out-of-bounds index into its layer context array, reading roughly 40KB past the allocated heap buffer. If the adjacent heap contains sensitive data (buffers, tokens, prior request fragments) that data may leak back to the attacker via an error path, encoded output, or log — an information disclosure. If the read instead lands on an unmapped page, the encoding process segfaults, crashing the worker and disrupting the AI inference/serving pipeline sharing that host or container — a denial of service.

Weaknesses (CWE)

CWE-125 — Out-of-bounds Read: The product reads data past the end, or before the beginning, of the intended buffer.

  • [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylis
  • [Architecture and Design] Use a language that provides appropriate memory abstractions.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H

Timeline

Published
June 19, 2026
Last Modified
August 12, 2026
First Seen
July 3, 2026

Related Vulnerabilities