CVE-2026-55586: SumatraPDF: Heap out-of-bounds write in vendored CHMLib LZX Huffman table construction reachable from crafted CHM files
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 makedecodetable in ext/CHMLib/lzx.c. In the long-code branch, the function writes new internal nodes through nextsymbol before validating that the canonical Huffman table has overflowed. The PRETREE case can write beyond the 104-entry PRETREEtable into adjacent heap state in struct LZXstate when reached through chmopen, chmretrieveobject, LZXdecompress, and BUILDTABLE. 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.
Affected Software
Event History
Frequently Asked Questions
Who is exposed to this issue?
Users of SumatraPDF 3.6.1 and earlier are exposed when the application parses a crafted CHM file. The vulnerable path is reached during CHM opening and object retrieval, so exposure depends on opening attacker-supplied or otherwise untrusted CHM content.
What does an attacker need to exploit it?
An attacker needs to persuade a user to open a specially crafted CHM file. No attacker privileges are required, but user interaction is required and the vulnerable processing occurs locally in the SumatraPDF parser process.
What is the expected impact?
The malformed CHM data can cause an out-of-bounds heap write into adjacent state during LZX Huffman table construction, resulting in heap memory corruption. Arbitrary code execution has not been demonstrated.
What can be done if a fixed release is not available?
No fixed version is available as of the review. Avoid opening CHM files from untrusted sources and restrict delivery or access to untrusted CHM attachments and downloads where possible.