CVE-2026-120752
HighCVSS 7.5Summary
PyMuPDF 1.25.3 before 2.0 contains a stack-based buffer overflow in JM_set_annot_callout_line() that copies a caller-supplied number of callout points into a fixed three-element stack array. Attackers controlling the callout argument passed to Page.add_freetext_annot() can supply four or more points to overwrite the stack frame, crashing the process or executing code.
Risk Assessment
Processing a malicious PDF could lead to arbitrary code execution in the context of the application using PyMuPDF, risking system compromise.
Recommendation
Update PyMuPDF to version 2.0 or later and avoid processing untrusted PDF files.
Other vulnerabilities in PyMuPDF
See all- CVE-2026-82035High
PyMuPDF through 1.28.2, fixed in commit b2c8f3a, contains a path traversal vulnerability in the font branch of extract_objects() in src/__main__.py. The output filename is constructed by joining a document-controlled BaseFont name directly onto the user-supplied output directory without stripping path separators or dot-dot sequences. Attackers can supply a crafted PDF, EPUB, XPS, or FB2 file with a BaseFont name containing encoded path separators that decode to ../ sequences or absolute paths, causing arbitrary file writes outside the intended output directory.
- CVE-2026-3029High
A path traversal and arbitrary file write vulnerability exists in PyMuPDF version 1.26.5. The flaw is located in the get function in '_main_.py'.
Original NVD description (English source)
PyMuPDF 1.25.3 before 2.0 contains a stack-based buffer overflow vulnerability in JM_set_annot_callout_line() that copies a caller-supplied number of callout points into a fixed three-element stack array. Attackers who control the callout argument passed to Page.add_freetext_annot() can supply four or more points to overwrite the stack frame, crashing the process or executing code.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

