Bug 2544505 - CVE-2026-56208 aom: libaom: heap buffer overflow in AV1 encoder first-pass stats buffer via LAP mode [fedora-all]
Summary: CVE-2026-56208 aom: libaom: heap buffer overflow in AV1 encoder first-pass st...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: aom
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Multimedia SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: {"flaws": ["8203d352-fdb8-4cfb-9f6c-9...
Depends On:
Blocks: CVE-2026-56208
TreeView+ depends on / blocked
 
Reported: 2026-10-01 10:17 UTC by Tomas Hoger
Modified: 2026-10-01 10:17 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tomas Hoger 2026-10-01 10:17:20 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

A heap buffer overflow (out-of-bounds write followed by out-of-bounds read) was found in libaom, the reference AV1 codec implementation by the Alliance for Open Media. The vulnerability exists in the AV1 encoder when an application sets g_lag_in_frames = 1.

The wrap-around guard for the first-pass stats ring buffer in update_firstpass_stats() (av1/encoder/firstpass.c) only fires when cpi->oxcf.pass == AOM_RC_FIRST_PASS, but Look-Ahead Processing (LAP) mode (enabled when g_lag_in_frames >= 1) runs as AOM_RC_ONE_PASS. As a result, the stats_in_end pointer is never wrapped and every frame after the second writes a 232-byte FIRSTPASS_STATS structure past the allocated 2-entry buffer, corrupting adjacent heap objects and their aom_memalign metadata.

Impact: Heap out-of-bounds write of 232-byte FIRSTPASS_STATS entries (29 fields of attacker-influenced floating-point/integer data) into the adjacent heap on every encoder frame after the 2nd, out-of-bounds read in find_next_scenecut(), and process crash via corrupted free() metadata in aom_codec_destroy(). Reachable from any application that exposes encoder configuration to untrusted input (e.g. transcoding services, browsers using libaom for WebRTC encode).

Affected: libaom v2.0.0 (first release shipping LAP support, commits 5517b28e1e and 4be6511843, Dec 2019) through v3.13.3
Fixed in: v3.14.0 by commit 243f8ae84b ("Handle buffer pointer in LAP mode to avoid overflow", BUG=aomedia:504317456, 2026-04-20)
Upstream report: https://issues.chromium.org/issues/504317456 (restricted)

Reporter: The FuzzAnything Team
PSIRT Ticket: PSIRTSUPT-17176


Note You need to log in before you can comment on or make changes to this bug.