{"id":"CVE-2026-53511","aliases":["DEBIAN-CVE-2026-53511","EUVD-2026-42102","GHSA-2j4m-2q7x-2c47","UBUNTU-CVE-2026-53511","openSUSE-SU-2026:11130-1"],"status":"published","title":"calibre: Arbitrary Code Execution in Template Formatter via Book Metadata","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","severity":{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/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.0022,"percentile":0.12594,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-94"],"published":"2026-06-27T00:00:00Z","modified":"2026-10-28T02:30:25Z","fixes":[{"ecosystem":"Debian:12","package":"calibre","fixed_in":["6.13.0+repack-2+deb12u10"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"calibre","fixed_in":["9.10.0+ds+~0.10.6-1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"calibre","fixed_in":["9.10.0-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.13.0+repack-2+deb12u10"}]}],"versions":["6.13.0+repack-2","6.13.0+repack-2+deb12u1","6.13.0+repack-2+deb12u2","6.13.0+repack-2+deb12u3","6.13.0+repack-2+deb12u4","6.13.0+repack-2+deb12u5","6.13.0+repack-2+deb12u6","6.13.0+repack-2+deb12u7","6.13.0+repack-2+deb12u8","6.13.0+repack-2+deb12u9"]},{"source":"osv","ecosystem":"Debian:13","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["8.10.0+ds-1","8.10.0+ds-2","8.10.0+ds-3","8.11.0+ds+~0.10.5-1","8.11.1+ds+~0.10.5-1","8.11.1+ds+~0.10.5-2","8.11.1+ds+~0.10.5-3","8.12.0+ds+~0.10.5-1","8.13.0+ds+~0.10.5-1","8.13.0+ds+~0.10.5-2","8.13.0+ds+~0.10.5-3","8.14.0+ds+~0.10.5-1","8.14.0+ds+~0.10.5-1~bpo13+1","8.15.0+ds+~0.10.5-1","8.15.0+ds+~0.10.5-1~bpo13+1","8.15.0+ds+~0.10.5-2","8.16.0+ds+~0.10.5-1","8.16.0+ds+~0.10.5-2","8.16.1+ds+~0.10.5-1","8.16.2+ds+~0.10.5-1","8.16.2+ds+~0.10.5-2","8.16.2+ds+~0.10.5-3","8.16.2+ds+~0.10.5-3~bpo13+1","8.5.0+ds-1","8.5.0+ds-1+deb13u1","8.5.0+ds-1+deb13u2","8.5.0+ds-1+deb13u3","8.6.0+ds-1","8.7.0+ds-1","8.8.0+ds-1","8.8.0+ds-2","8.8.0+ds-2+gcc15","8.8.0+ds-3","8.9.0+ds-1","8.9.0+ds-2","8.9.0+ds-3","8.9.0+ds-4","9.0.0+ds+~0.10.5-1","9.1.0+ds+~0.10.5-1","9.10.0+ds+~0.10.6-1","9.10.0+ds+~0.10.6-2","9.11.0+ds+~0.10.6-1","9.11.0+ds+~0.10.6-2","9.12.0+ds+~0.10.6-1","9.13.0+ds+~0.10.6-1","9.14.0+ds+~0.10.6-1","9.14.0+ds+~0.10.6-2","9.15.0+ds+~1.1.2-1","9.15.0+ds+~1.1.2-2","9.15.0+ds+~1.1.2-3","9.16.0+ds+~1.1.2-1","9.17.0+ds+~1.1.2-1","9.2.0+ds+~0.10.5-1","9.2.1+ds+~0.10.5-1","9.2.1+ds+~0.10.5-2","9.3.0+ds+~0.10.5-1","9.3.1+ds+~0.10.5-1","9.4.0+ds+~0.10.5-1","9.5.0+ds+~0.10.5-1","9.6.0+ds+~0.10.5-1","9.6.0+ds+~0.10.5-2","9.6.0+ds+~0.10.5-3","9.6.0+ds+~0.10.5-4","9.6.0+ds+~0.10.5-5","9.6.0+ds+~0.10.5-6","9.7.0+ds+~0.10.5-1","9.7.0+ds+~0.10.5-2","9.8.0+ds+~0.10.5-1","9.8.0+ds+~0.10.5-2","9.8.0+ds+~0.10.5-3","9.8.0+ds+~0.10.5-4","9.8.0+ds+~0.10.5-5","9.8.0+ds+~0.10.6-1","9.8.0+ds+~0.10.6-2","9.9.0+ds+~0.10.6-1"]},{"source":"osv","ecosystem":"Debian:14","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.10.0+ds+~0.10.6-1"}]}],"versions":["8.10.0+ds-1","8.10.0+ds-2","8.10.0+ds-3","8.11.0+ds+~0.10.5-1","8.11.1+ds+~0.10.5-1","8.11.1+ds+~0.10.5-2","8.11.1+ds+~0.10.5-3","8.12.0+ds+~0.10.5-1","8.13.0+ds+~0.10.5-1","8.13.0+ds+~0.10.5-2","8.13.0+ds+~0.10.5-3","8.14.0+ds+~0.10.5-1","8.14.0+ds+~0.10.5-1~bpo13+1","8.15.0+ds+~0.10.5-1","8.15.0+ds+~0.10.5-1~bpo13+1","8.15.0+ds+~0.10.5-2","8.16.0+ds+~0.10.5-1","8.16.0+ds+~0.10.5-2","8.16.1+ds+~0.10.5-1","8.16.2+ds+~0.10.5-1","8.16.2+ds+~0.10.5-2","8.16.2+ds+~0.10.5-3","8.16.2+ds+~0.10.5-3~bpo13+1","8.5.0+ds-1","8.6.0+ds-1","8.7.0+ds-1","8.8.0+ds-1","8.8.0+ds-2","8.8.0+ds-2+gcc15","8.8.0+ds-3","8.9.0+ds-1","8.9.0+ds-2","8.9.0+ds-3","8.9.0+ds-4","9.0.0+ds+~0.10.5-1","9.1.0+ds+~0.10.5-1","9.2.0+ds+~0.10.5-1","9.2.1+ds+~0.10.5-1","9.2.1+ds+~0.10.5-2","9.3.0+ds+~0.10.5-1","9.3.1+ds+~0.10.5-1","9.4.0+ds+~0.10.5-1","9.5.0+ds+~0.10.5-1","9.6.0+ds+~0.10.5-1","9.6.0+ds+~0.10.5-2","9.6.0+ds+~0.10.5-3","9.6.0+ds+~0.10.5-4","9.6.0+ds+~0.10.5-5","9.6.0+ds+~0.10.5-6","9.7.0+ds+~0.10.5-1","9.7.0+ds+~0.10.5-2","9.8.0+ds+~0.10.5-1","9.8.0+ds+~0.10.5-2","9.8.0+ds+~0.10.5-3","9.8.0+ds+~0.10.5-4","9.8.0+ds+~0.10.5-5","9.8.0+ds+~0.10.6-1","9.8.0+ds+~0.10.6-2","9.9.0+ds+~0.10.6-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.33.0+dfsg-1build1","2.38.0+dfsg-1","2.45.0+dfsg-1","2.45.0+dfsg-1build1","2.48.0+dfsg-1","2.48.0+dfsg-1build1","2.54.0+dfsg-1","2.55.0+dfsg-1","2.55.0+dfsg-1ubuntu0.2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.7.0+dfsg-2","3.7.0+dfsg-2build1","3.12.0+dfsg-1","3.13.0+dfsg-1","3.14.0+dfsg-1","3.15.0.1+dfsg-1","3.16.0+dfsg-1","3.16.0+dfsg-1build1","3.17.0+dfsg-1","3.17.0+dfsg-2","3.18.0+dfsg-1build1","3.19.0+dfsg-1","3.20.0+dfsg-1","3.21.0+dfsg-1","3.21.0+dfsg-1build1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.46.0+dfsg-1","4.2.0+dfsg-2","4.3.0+dfsg-1","4.3.0+dfsg-2","4.4.0+dfsg-1","4.5.0+dfsg-1","4.5.0+dfsg-2","4.5.0+dfsg-3","4.6.0+dfsg-1","4.7.0+dfsg-1","4.99.3+dfsg-2","4.99.4+dfsg-1","4.99.4+dfsg-1build1","4.99.4+dfsg+really4.10.0+py3-2","4.99.4+dfsg+really4.11.2-1","4.99.4+dfsg+really4.11.2-1build1","4.99.4+dfsg+really4.12.0-1","4.99.4+dfsg+really4.12.0-1build1","4.99.4+dfsg+really4.12.0-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.25.0+dfsg-2","5.33.2+dfsg-1","5.34.0+dfsg-1","5.35.0+dfsg-1ubuntu2","5.37.0+dfsg-1","5.37.0+dfsg-1build1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.24.0+ds-1","6.29.0+ds-1","7.0.0+ds-1","7.1.0+ds-1","7.1.0+ds-2","7.2.0+ds-1","7.2.0+ds-1build1","7.3.0+ds-1","7.4.0+ds-1","7.5.1+ds-1","7.5.1+ds-2","7.5.1+ds-3","7.6.0+ds-1","7.6.0+ds-1build1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.26.0+ds-4build1","8.3.0+ds-1","8.4.0+ds-1","8.5.0+ds-1","8.6.0+ds-1","8.7.0+ds-1","8.8.0+ds-2","8.8.0+ds-3","8.8.0+ds-3build1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.2.1+ds+~0.10.5-2build1","9.9.0+ds+~0.10.6-1","9.11.0+ds+~0.10.6-1","9.11.0+ds+~0.10.6-2","9.13.0+ds+~0.10.6-1","9.14.0+ds+~0.10.6-2build1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["8.8.0+ds-3build1","8.13.0+ds+~0.10.5-3","8.14.0+ds+~0.10.5-1","8.15.0+ds+~0.10.5-1","8.16.0+ds+~0.10.5-2","8.16.2+ds+~0.10.5-1","8.16.2+ds+~0.10.5-2","8.16.2+ds+~0.10.5-3","9.2.1+ds+~0.10.5-2build1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.10.0-1.1"}]}]}],"products":[{"vendor":"kovidgoyal","product":"calibre"}],"references":[{"url":"https://github.com/kovidgoyal/calibre/security/advisories/GHSA-2j4m-2q7x-2c47","tags":["x_refsource_CONFIRM","exploit","advisory","report"]},{"url":"https://github.com/kovidgoyal/calibre/commit/712f4e1ff5c1e798c335bef3bacc4efdee052e9c","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/kovidgoyal/calibre/releases/tag/v9.10.0","tags":["x_refsource_MISC","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2026/08/msg00034.html","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53511.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53511","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-53511","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-53511","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53511","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-53511","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-53511","title":"calibre: Arbitrary Code Execution in Template Formatter via Book Metadata","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T20:46:49.199Z","modified":"2026-08-18T07:16:16.171Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:20:00.11477Z"}],"euvd":[{"id":"EUVD-2026-42102","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T20:46:49Z","modified":"2026-08-18T07:16:16Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T18:01:47.222335Z"}],"nvd":[{"id":"CVE-2026-53511","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T21:17:26.38Z","modified":"2026-10-25T20:10:00.147Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/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"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:12:28.040501Z"}],"osv":[{"id":"CVE-2026-53511","title":"calibre: Arbitrary Code Execution in Template Formatter via Book Metadata","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T20:46:49.199Z","modified":"2026-10-28T02:30:25.804402829Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T15:45:08.132336Z"},{"id":"DEBIAN-CVE-2026-53511","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T21:17:26.38Z","modified":"2026-10-26T12:02:58.528748854Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/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-02T15:45:57.236551Z"},{"id":"UBUNTU-CVE-2026-53511","description":"calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.","status":"published","published":"2026-07-07T21:17:00Z","modified":"2026-10-17T12:59:02.001212115Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:56:41.382716Z"},{"id":"openSUSE-SU-2026:11130-1","title":"calibre-9.10.0-1.1 on GA media","description":"These are all security issues fixed in the calibre-9.10.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-27T00:00:00Z","modified":"2026-06-29T09:45:07.015241144Z","updated_at":"2026-11-02T16:58:38.95195Z"}]}}
