CVE-2026-55586 PUBLISHED

SumatraPDF: Heap out-of-bounds write in vendored CHMLib LZX Huffman table construction reachable from crafted CHM files

Assigner: GitHub_M
Reserved: 16.06.2026 Published: 20.08.2026 Updated: 20.08.2026

SumatraPDF is a multi-format reader for Windows. In 3.6.1 and earlier, a crafted CHM file can supply malformed LZX Huffman code lengths to make_decode_table in ext/CHMLib/lzx.c. In the long-code branch, the function writes new internal nodes through next_symbol before validating that the canonical Huffman table has overflowed. The PRETREE case can write beyond the 104-entry PRETREE_table into adjacent heap state in struct LZXstate when reached through chm_open, chm_retrieve_object, LZXdecompress, and BUILD_TABLE. This produces heap memory corruption in the parser process, while arbitrary code execution has not been demonstrated. No fixed version is available as of this review.

Metrics

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

Product Status

Vendor sumatrapdfreader
Product sumatrapdf
Versions
  • Version <= 3.6.1rel is affected

References

Problem Types

  • CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer CWE
  • CWE-787: Out-of-bounds Write CWE