{"id":"CVE-2018-7889","aliases":["DEBIAN-CVE-2018-7889","EUVD-2018-19601","GHSA-7hmv-6p8v-7rmw","MGASA-2018-0399","UBUNTU-CVE-2018-7889"],"status":"published","title":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data,...","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","severity":{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.04508,"percentile":0.91574,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-502"],"published":"2018-03-08T21:00:00Z","modified":"2026-10-23T18:03:09Z","fixes":[{"ecosystem":"Debian:12","package":"calibre","fixed_in":["3.19.0+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"calibre","fixed_in":["3.19.0+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"calibre","fixed_in":["3.19.0+dfsg-1"],"sources":["osv"]},{"ecosystem":"Mageia:6","package":"calibre","fixed_in":["3.27.1-2.mga6"],"sources":["osv"]},{"ecosystem":"Mageia:6","package":"python-html5-parser","fixed_in":["0.4.4-1.1.mga6"],"sources":["osv"]},{"ecosystem":"Mageia:6","package":"python-lxml","fixed_in":["3.8.0-1.1.mga6"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.19.0+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.19.0+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.19.0+dfsg-1"}]}]},{"source":"osv","ecosystem":"Mageia:6","package":"calibre","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.27.1-2.mga6"}]}]},{"source":"osv","ecosystem":"Mageia:6","package":"python-html5-parser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.4.4-1.1.mga6"}]}]},{"source":"osv","ecosystem":"Mageia:6","package":"python-lxml","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.8.0-1.1.mga6"}]}]},{"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: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"]}],"products":[{"vendor":"calibre-ebook","product":"calibre"}],"references":[{"url":"https://bugs.launchpad.net/calibre/+bug/1753870","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Third Party Advisory","evidence","report"]},{"url":"https://github.com/kovidgoyal/calibre/commit/aeb5b036a0bf657951756688b3c72bd68b6e4a7d","tags":["x_refsource_CONFIRM","x_transferred","Patch","fix","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-7889"},{"url":"https://github.com/advisories/GHSA-7hmv-6p8v-7rmw"},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-7889","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2018-0399.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=22814","tags":["report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/VUNMTXK3UTN636LOBG63UDSTVM4AF26T/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2018-7889","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-7889","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2018-7889","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:00:00Z","modified":"2024-09-17T00:51:35.683Z","updated_at":"2026-11-02T14:35:10.313768Z"}],"euvd":[{"id":"EUVD-2018-19601","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:00:00Z","modified":"2024-09-17T00:51:35Z","updated_at":"2026-11-03T00:28:54.932148Z"}],"ghsa":[{"id":"GHSA-7hmv-6p8v-7rmw","title":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data,...","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2022-05-14T02:37:09Z","modified":"2023-02-02T05:06:30Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:52:19.1406Z"}],"nvd":[{"id":"CVE-2018-7889","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:29:00.207Z","modified":"2026-06-17T02:03:54.853Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:04:24.264003Z"}],"osv":[{"id":"CVE-2018-7889","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:29:00.207Z","modified":"2026-10-20T10:50:30.769917334Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:09.74357Z"},{"id":"DEBIAN-CVE-2018-7889","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:29:00.207Z","modified":"2026-10-23T18:03:09.253018956Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:31.170944Z"},{"id":"UBUNTU-CVE-2018-7889","description":"gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data, which allows remote attackers to execute arbitrary code via a crafted .pickle file, as demonstrated by Python code that contains an os.system call.","status":"published","published":"2018-03-08T21:29:00Z","modified":"2026-05-20T16:03:19.250050178Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:18.772093Z"},{"id":"MGASA-2018-0399","title":"Updated calibre packages fix security vulnerability","description":"Updated calibre package fixes security vulnerability:\n\ngui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on\nimported bookmark data, which allows remote attackers to execute arbitrary\ncode via a crafted .pickle file, as demonstrated by Python code that\ncontains an os.system call (CVE-2018-7889).\n\nThe python-html5-parser package is a new dependency for the updated calibre\npackage and has been included with this update.\n","status":"published","published":"2018-10-19T18:00:37Z","modified":"2026-04-16T06:26:06.954760985Z","updated_at":"2026-11-02T15:49:40.793816Z"}]}}
