CVE-2026-56209: libaom: arbitrary address write in AV1 SVC codec

HIGH
Published June 19, 2026
CISO Take

A missing bounds check in libaom's SVC (Scalable Video Coding) layer-ID control path lets an attacker who can submit a crafted video frame inject an arbitrary pointer into the encoder's cyclic refresh map, causing the encoder to deterministically write roughly 1,200 attacker-influenced bytes to that address — no memory-leak needed, no luck required. It's not in CISA KEV, has no public exploit or Nuclei template, CISA's own SSVC decision is the lowest urgency tier (Track), and EPSS sits at 0.27% — so despite ranking in the 81st percentile among tracked CVEs, real-world exploitation likelihood today is low. The exposure is still worth tracking because of blast radius: libaom is bundled transitively into 129 downstream packages, including numerous Red Hat AI container base images (RHAI/RHAIIS/RHOAI) and several vLLM image variants, plus Firefox/Thunderbird. Patch by pulling the upstream fix (aomedia commit a93ba0ffaa) or the Red Hat errata (RHSA-2026:30814) and rebuild affected container/base images; in the meantime, audit whether any network-facing media-ingestion service in your AI stack actually has SVC mode enabled and disable it if unused, since this requires a fairly specific, non-default configuration to be reachable at all.

Sources: NVD CISA KEV EPSS access.redhat.com aomedia.googlesource.com ATLAS CISA SSVC

What is the risk?

Technically severe (CVSS 7.1, CWE-787 out-of-bounds write, fully deterministic write-what-where primitive) but low current real-world risk: not in CISA KEV, no public exploit code, no scanner/Nuclei coverage, CISA SSVC rated 'Track' (lowest urgency), and EPSS absolute probability is only 0.27%. Exploitation also requires a fairly narrow precondition — a network-facing libaom encoder with SVC explicitly enabled, plus user interaction — which is not a default or common configuration. The main risk driver is supply-chain breadth: libaom ships transitively inside 129 downstream packages, including multiple Red Hat AI container base images and vLLM variants, so exposure assessment requires inventory work rather than direct AI-specific attack-surface analysis.

How does the attack unfold?

Crafted frame delivery
Attacker submits a video frame with malicious pixel values to a network-facing libaom encoder configured with SVC.
AML.T0049
Bounds-check bypass
The missing bounds check in the SVC layer-ID control function lets the crafted pixel values be interpreted as a pointer and injected into the cyclic refresh map field.
Arbitrary write
The encoder deterministically writes approximately 1,200 bytes of attacker-influenced data to the attacker-controlled address, no separate information leak required.
Impact
The write crashes the encoding process (denial of service to the ingestion/serving pipeline) or, with precise targeting, corrupts control data toward code execution on the host.
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 26% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Advanced

What is the attack surface?

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

What should I do?

1 step
  1. 1) Patch libaom to the version referenced in RHSA-2026:30814 / upstream commit aomedia.googlesource.com/aom/+/a93ba0ffaa. 2) Rebuild and redeploy any RHAI/RHAIIS/RHOAI base or workbench images and vLLM container variants once updated RPMs/packages are available; don't rely on old cached layers. 3) Inventory whether any network-facing AI media-ingestion or transcoding service actually enables SVC — if not required, disable it as an immediate workaround. 4) For services that can't be patched immediately, front them with strict input validation on submitted video/image frames and isolate the encoding process (sandbox/seccomp, non-privileged user, resource limits) to contain a potential write primitive. 5) Monitor for unexplained encoder crashes or segfaults in transcoding services as a DoS/exploitation-attempt indicator. 6) Verify remediation via rpm -q libaom or container image manifest diff against the patched build.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact total

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
NIST AI RMF
GOVERN-6.1 - Policies for third-party AI system components
OWASP LLM Top 10
LLM03:2025 - Supply Chain Vulnerabilities

Frequently Asked Questions

What is CVE-2026-56209?

A missing bounds check in libaom's SVC (Scalable Video Coding) layer-ID control path lets an attacker who can submit a crafted video frame inject an arbitrary pointer into the encoder's cyclic refresh map, causing the encoder to deterministically write roughly 1,200 attacker-influenced bytes to that address — no memory-leak needed, no luck required. It's not in CISA KEV, has no public exploit or Nuclei template, CISA's own SSVC decision is the lowest urgency tier (Track), and EPSS sits at 0.27% — so despite ranking in the 81st percentile among tracked CVEs, real-world exploitation likelihood today is low. The exposure is still worth tracking because of blast radius: libaom is bundled transitively into 129 downstream packages, including numerous Red Hat AI container base images (RHAI/RHAIIS/RHOAI) and several vLLM image variants, plus Firefox/Thunderbird. Patch by pulling the upstream fix (aomedia commit a93ba0ffaa) or the Red Hat errata (RHSA-2026:30814) and rebuild affected container/base images; in the meantime, audit whether any network-facing media-ingestion service in your AI stack actually has SVC mode enabled and disable it if unused, since this requires a fairly specific, non-default configuration to be reachable at all.

Is CVE-2026-56209 actively exploited?

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

How to fix CVE-2026-56209?

1) Patch libaom to the version referenced in RHSA-2026:30814 / upstream commit aomedia.googlesource.com/aom/+/a93ba0ffaa. 2) Rebuild and redeploy any RHAI/RHAIIS/RHOAI base or workbench images and vLLM container variants once updated RPMs/packages are available; don't rely on old cached layers. 3) Inventory whether any network-facing AI media-ingestion or transcoding service actually enables SVC — if not required, disable it as an immediate workaround. 4) For services that can't be patched immediately, front them with strict input validation on submitted video/image frames and isolate the encoding process (sandbox/seccomp, non-privileged user, resource limits) to contain a potential write primitive. 5) Monitor for unexplained encoder crashes or segfaults in transcoding services as a DoS/exploitation-attempt indicator. 6) Verify remediation via `rpm -q libaom` or container image manifest diff against the patched build.

What systems are affected by CVE-2026-56209?

This vulnerability affects the following AI/ML architecture patterns: multimodal data ingestion pipelines, model serving / inference infrastructure, training pipelines (video/image datasets), AI development workbenches (RHOAI/Jupyter).

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

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

What is the AI security impact?

Affected AI Architectures

multimodal data ingestion pipelinesmodel serving / inference infrastructuretraining pipelines (video/image datasets)AI development workbenches (RHOAI/Jupyter)

MITRE ATLAS Techniques

AML.T0010.001 AI Software
AML.T0029 Denial of AI Service
AML.T0049 Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Article 15
NIST AI RMF: GOVERN-6.1
OWASP LLM Top 10: LLM03:2025

What are the technical details?

Original Advisory

An arbitrary address write 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 an attacker to inject an arbitrary pointer into the cyclic refresh map field via crafted image pixel values. The encoder then writes approximately 1,200 bytes at the attacker-controlled address. This is fully deterministic and does not require a separate information leak. An attacker who can supply frames to a network-facing libaom encoder with SVC enabled could exploit this for denial of service or potential code execution.

Exploitation Scenario

An AI platform ingests user- or partner-submitted video/image content — for example, a multimodal training data pipeline or a video-analytics inference service — using a libaom-based encoder configured with SVC. An attacker submits a video frame with crafted pixel values that reach the SVC layer-ID control function; the missing bounds check lets those values be interpreted as a pointer and injected into the encoder's cyclic refresh map field. When the encoder subsequently writes its ~1,200-byte cyclic refresh map, it writes attacker-influenced data to the attacker-controlled address deterministically, with no separate info leak required. Depending on what gets overwritten, this crashes the transcoding process (denial of service to the ingestion pipeline) or, with more precise targeting of control data, could be leveraged toward code execution on the host running the AI service.

Weaknesses (CWE)

CWE-787 — Out-of-bounds Write: The product writes data past the end, or before the beginning, of the intended buffer.

  • [Requirements] Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, many languages that perform their own memory management, such as Java and Perl, are not subject to buffer overflows. Other languages, such as Ada and C#, typically provide overflow protection, but the protection can be disabled by the programmer. Be wary that a language's interface to native code may still be subject to overflows, even if the language itself is theoretically safe.
  • [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. Examples include the Safe C String Library (SafeStr) by Messier and Viega [REF-57], and the Strsafe.h library from Microsoft [REF-56]. These libraries provide safer versions of overflow-prone string-handling functions.

Source: MITRE CWE corpus.

CVSS Vector

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

Timeline

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

Related Vulnerabilities