{"id":"CVE-2026-120752","aliases":["DEBIAN-CVE-2026-120752","EUVD-2026-115640","GHSA-x2mr-6hpr-g257","UBUNTU-CVE-2026-120752"],"status":"published","title":"PyMuPDF 1.25.3 before 2.0 Stack Buffer Overflow via add_freetext_annot() Callout","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.","severity":{"version":"4.0","score":7.7,"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00373,"percentile":0.31716,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-121"],"published":"2026-11-02T22:16:12Z","modified":"2026-11-07T02:27:07Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.21.1+ds1-1","1.22.5+ds1-1","1.23.7+ds1-1","1.24.2+ds1-1","1.24.2+ds1-2","1.24.2+ds1-3","1.25.0+ds1-1","1.25.0+ds1-2","1.25.4+ds1-1","1.25.4+ds1-2","1.25.4+ds1-3","1.25.4+ds1-4","1.26.7+ds1-1","1.28.2+ds1-1"]},{"source":"osv","ecosystem":"Debian:13","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.25.4+ds1-3","1.25.4+ds1-3+deb13u1","1.25.4+ds1-4","1.26.7+ds1-1","1.28.2+ds1-1"]},{"source":"osv","ecosystem":"Debian:14","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.25.4+ds1-3","1.25.4+ds1-4","1.26.7+ds1-1","1.28.2+ds1-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.16.11-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17.4+ds1-2build2","1.17.4+ds1-2build3","1.19.2+ds1-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22.5+ds1-1","1.22.5+ds1-1build1","1.22.5+ds1-1build2","1.23.7+ds1-1ubuntu1","1.23.7+ds1-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.26.7+ds1-1build1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"pymupdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.25.4+ds1-4","1.26.7+ds1-1","1.26.7+ds1-1build1"]}],"products":[{"vendor":"artifex software inc. *pymupdf*","product":"pymupdf"},{"vendor":"pymupdf","product":"pymupdf"}],"references":[{"url":"https://github.com/pymupdf/PyMuPDF/issues/5112","tags":["issue-tracking","exploit","report"]},{"url":"https://github.com/pymupdf/PyMuPDF/issues/5173","tags":["issue-tracking","technical-description","report"]},{"url":"https://github.com/pymupdf/PyMuPDF/commit/d4298ead84ceeae1c9065c81cd9a275a1b092f5e","tags":["patch","fix","report"]},{"url":"https://github.com/pymupdf/PyMuPDF/blob/1.28.2/src/extra.i#L787-L797","tags":["technical-description","article","report"]},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/2.0","tags":["release-notes","advisory","report"]},{"url":"https://github.com/pymupdf/PyMuPDF","tags":["product","package","report"]},{"url":"https://www.vulncheck.com/advisories/pymupdf-1.25.3-before-2.0-stack-buffer-overflow-via-add-freetext-annot-callout","tags":["third-party-advisory","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120752","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-x2mr-6hpr-g257"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120752.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-120752","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-120752","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-120752","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-120752","title":"PyMuPDF 1.25.3 before 2.0 Stack Buffer Overflow via add_freetext_annot() Callout","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.","status":"published","published":"2026-11-02T22:16:12.885Z","modified":"2026-11-07T02:27:07.671Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high","assessor":"cna"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-121"],"updated_at":"2026-11-07T03:32:21.038338Z"}],"euvd":[{"id":"EUVD-2026-115640","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.","status":"published","published":"2026-11-02T22:16:12Z","modified":"2026-11-07T02:27:07Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high"}],"updated_at":"2026-11-07T03:08:10.162736Z"}],"ghsa":[{"id":"GHSA-x2mr-6hpr-g257","title":"PyMuPDF 1.25.3 before 2.0 contains a stack-based buffer overflow vulnerability in...","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.","status":"published","published":"2026-11-03T00:31:24Z","modified":"2026-11-03T00:31:29Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-121"],"updated_at":"2026-11-03T00:53:57.407227Z"}],"nvd":[{"id":"CVE-2026-120752","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.","status":"published","published":"2026-11-02T23:17:20.243Z","modified":"2026-11-07T03:17:04.837Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-121"],"updated_at":"2026-11-07T07:04:25.467195Z"}],"osv":[{"id":"CVE-2026-120752","title":"PyMuPDF 1.25.3 before 2.0 Stack Buffer Overflow via add_freetext_annot() Callout","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.","status":"published","published":"2026-11-02T22:16:12.885Z","modified":"2026-11-08T02:30:17.380275008Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high"}],"cwes":["CWE-121"],"updated_at":"2026-11-07T03:08:01.726202Z"},{"id":"DEBIAN-CVE-2026-120752","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.","status":"published","published":"2026-11-02T23:17:20.243Z","modified":"2026-11-07T10:01:04.422822023Z","cvss":[{"version":"4.0","score":7.7,"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","level":"high"}],"updated_at":"2026-11-07T10:14:19.880839Z"},{"id":"UBUNTU-CVE-2026-120752","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.","status":"published","published":"2026-11-02T23:17:00Z","modified":"2026-11-05T04:42:52Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":7.7,"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","level":"high"}],"updated_at":"2026-11-05T13:33:25.727744Z"}]}}
