{"affected":[{"defaultStatus":"unaffected","ecosystem":"pypi","packageName":"pymupdf","product":"PyMuPDF","source":"CNA: VulnCheck","vendor":"PyMuPDF","versions":[{"lessThan":"2.0","status":"affected","version":"1.25.3","versionType":"custom"}]}],"cveId":"CVE-2026-120752","cwes":["CWE-121"],"description":"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.","epss":null,"exploits":[],"kev":null,"metrics":[{"score":7.7,"severity":"high","source":"CNA: VulnCheck","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","version":"4.0"},{"score":7.5,"severity":"high","source":"CNA: VulnCheck","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},{"score":7.7,"severity":"high","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","version":"4.0"},{"score":7.5,"severity":"high","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}],"modifiedAt":1793661440243,"publishedAt":1793657772885,"references":[{"source":"CNA: VulnCheck","tags":["issue-tracking"],"url":"https://github.com/pymupdf/PyMuPDF/issues/5112"},{"source":"CNA: VulnCheck","tags":["issue-tracking","technical-description"],"url":"https://github.com/pymupdf/PyMuPDF/issues/5173"},{"source":"CNA: VulnCheck","tags":["patch"],"url":"https://github.com/pymupdf/PyMuPDF/commit/d4298ead84ceeae1c9065c81cd9a275a1b092f5e"},{"source":"CNA: VulnCheck","tags":["technical-description"],"url":"https://github.com/pymupdf/PyMuPDF/blob/1.28.2/src/extra.i#L787-L797"},{"source":"CNA: VulnCheck","tags":["release-notes"],"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/2.0"},{"source":"CNA: VulnCheck","tags":["product"],"url":"https://github.com/pymupdf/PyMuPDF"},{"source":"CNA: VulnCheck","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/pymupdf-1.25.3-before-2.0-stack-buffer-overflow-via-add-freetext-annot-callout"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF/blob/1.28.2/src/extra.i#L787-L797"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF/commit/d4298ead84ceeae1c9065c81cd9a275a1b092f5e"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF/issues/5112"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF/issues/5173"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/2.0"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://www.vulncheck.com/advisories/pymupdf-1.25.3-before-2.0-stack-buffer-overflow-via-add-freetext-annot-callout"}],"remediation":[{"kind":"fix","source":"CNA: VulnCheck","text":"The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.","url":"https://github.com/pymupdf/PyMuPDF/commit/d4298ead84ceeae1c9065c81cd9a275a1b092f5e"}],"revision":"7ef6dc2a470a2391e17e25fff93576aeaff587c7588e874c8664c464e8461893","sources":[{"modifiedAt":1793657772885,"name":"CNA: VulnCheck","retrievedAt":1793660927688,"url":"https://www.cve.org/CVERecord?id=CVE-2026-120752"},{"modifiedAt":1793661440243,"name":"NVD","retrievedAt":1793666089093,"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120752"}],"ssvc":null,"status":"published","title":"PyMuPDF 1.25.3 before 2.0 Stack Buffer Overflow via add_freetext_annot() Callout","updatedAt":1793666089093}