Lune

USENIX Security2023Top-tier venue

The Most Dangerous Codec in the World: Finding and Exploiting Vulnerabilities in H.264 Decoders

Willy R. Vasquez, Stephen Checkoway, Hovav Shacham

2023Year
2Top-tier citations

Abstract

Modern video encoding standards such as H.264 are a marvel of hidden complexity. But with hidden complexity comes hidden security risk. Decoding video in practice means interacting with dedicated hardware accelerators and the proprietary, privileged software components used to drive them. The video decoder ecosystem is obscure, opaque, diverse, highly privileged, largely untested, and highly exposed-a dangerous combination. We introduce and evaluate H26FORGE, domain-specific infrastructure for analyzing, generating, and manipulating syntactically correct but semantically spec-non-compliant video files. Using H26FORGE, we uncover insecurity in depth across the video decoder ecosystem, including kernel memory corruption bugs in iOS, memory corruption bugs in Firefox and VLC for Windows, and video accelerator and application processor kernel memory bugs in multiple Android devices. An illustrative example: CVE-2022-22675. On March 31, 2022, Apple released iOS 15.4.1, which patched a bug in the kernel driver for the AppleAVD video accelerator family, included in SoCs starting with 2018's A12. The release notes state that "Apple is aware of a report that this issue may have been actively exploited." 3 Google Project Zero's Natalie Silvanovich performed a root cause analysis of the bug [43] .

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext bda8fcaf-de13-4c8c-bc4e-daed070db61d

Cited by top-tier papers2

Ask how each one uses it

Builds on7

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines