CVE-2026-55586
Received Received - Intake

Heap Memory Corruption in SumatraPDF via Malformed CHM File

Vulnerability report for CVE-2026-55586, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-20

Last updated on: 2026-08-20

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-20
Last Modified
2026-08-20
Generated
2026-08-20
AI Q&A
2026-08-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
sumatrapdf sumatrapdf to 3.6.1 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
CWE-119 The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a heap out-of-bounds write issue in SumatraPDF's CHMLib LZX decompressor. A crafted CHM file can supply malformed LZX Huffman code lengths, causing the make_decode_table function to write beyond the bounds of a Huffman table. This leads to heap memory corruption in the parser process.

Detection Guidance

To detect this vulnerability, monitor for crashes or memory corruption when processing CHM files. Use SumatraPDF with AddressSanitizer (ASan) builds to catch heap overflows during CHM file handling. The provided test mode `-test-chm <chm> [<outfile>]` can exercise CHM parsing and detect issues.

Impact Analysis

Opening a malicious CHM file with SumatraPDF could corrupt heap memory in the application. While arbitrary code execution has not been demonstrated, the corruption may cause crashes or unexpected behavior. The impact depends on the heap layout and other factors.

Compliance Impact

This vulnerability could potentially impact compliance with GDPR and HIPAA by allowing heap memory corruption when processing malicious CHM files. While arbitrary code execution has not been demonstrated, the heap corruption could lead to data integrity issues or unauthorized access depending on heap layout. Organizations handling sensitive data under these regulations may face increased risk if attackers exploit this to manipulate memory states.

Mitigation Strategies

Avoid opening CHM files from untrusted sources. Disable CHM file handling in SumatraPDF if possible. Monitor for updates from SumatraPDF for a patched version. Use ASan builds to test CHM files for exploitation attempts.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-55586. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart