CVE-2023-4863: Explaining the WebP Huffman-Table Overflow

· 18:00 · Watch on YouTube ↗

Summary

The video analyzes CVE-2023-4863, a WebP heap overflow in Huffman-table construction. It explains how malformed code-length data could exceed fixed allocations and discusses affected platforms and a reported iOS image-based zero-day.

Key points

  • Citizenlab announced an actively exploited iOS zero-day; the video says a PassKit attachment sent in an iMessage was apparently the entry point.
  • Apple issued an iOS update the same day, warning that processing a maliciously crafted image could lead to arbitrary code execution.
  • The video examines a critical WebP heap buffer overflow in BuildHuffmanTable, described in the source commits as an out-of-bounds write.
  • The speaker identifies iOS, Chromium, Android, Firefox, and ImageMagick as affected through their WebP support.
  • The vulnerable code had been in the source since 2014, according to the video.
  • The decoder builds Huffman tables from code-length data in an untrusted image, while fixed allocations were sized for valid trees; malformed data could make the tables exceed those allocations.
  • At the time discussed, proof-of-concept .webp files triggered the overflow, but the speaker said full example exploits for specific targets were not available.

Article Details

Topics
  • [00:00] Reported iOS zero-day, PassKit attachment, and Apple update
  • [00:37] WebP heap buffer overflow and affected software
  • [02:15] Video scope and Huffman coding fundamentals
  • [07:36] Huffman lookup tables and table-size growth
  • [09:39] Two-level tables and fixed allocation sizes
  • [12:46] How untrusted code-length data can overflow the table buffer

Products

Related Articles