CVE Catalog

CVE-2026-97575

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, std_validate_compound() did not bound the tile_cols and tile_rows fields for V4L2_CTRL_TYPE_AV1_FRAME controls. These values are used as loop bounds, array indices, and a divisor, and their product bounds per-tile descriptor buffers. Validation was added to reject values exceeding V4L2_AV1_MAX_TILE_COLS/_ROWS or whose product exceeds V4L2_AV1_MAX_TILE_COUNT.

Risk Assessment

Missing validation could lead to memory corruption or out-of-bounds access during AV1 decoding, potentially allowing an attacker to execute code or destabilize the kernel.

Recommendation

Update the Linux kernel to a version containing the fix that validates AV1 tile counts in v4l2-ctrls. If updating is not possible, restrict access to V4L2 devices to trusted processes.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-ctrls: validate AV1 tile counts The stateless AV1 decoders use tile_info.tile_cols and tile_rows as loop bounds and as indices into the mi_*_starts[] and *_in_sbs_minus_1[] arrays, as the divisor for context_update_tile_id, and their product bounds the per-tile descriptor buffers, but std_validate_compound() does not bound these u8 fields. Reject a V4L2_CTRL_TYPE_AV1_FRAME whose tile_cols or tile_rows exceeds V4L2_AV1_MAX_TILE_COLS / _ROWS, or whose product exceeds V4L2_AV1_MAX_TILE_COUNT. A zero tile count is left to the consuming driver so the zero-initialised control that existing userspace submits is still accepted.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS