CVE-2018-7889
gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data,...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.8
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.
- Record
CVE-2018-7889- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-502
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2018-7889- Updated
- 2026-11-02
EUVDEUVD-2018-19601 No score
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.
- Record
EUVD-2018-19601- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7hmv-6p8v-7rmw
7.8
gui2/viewer/bookmarkmanager.py in Calibre 3.18 calls cPickle.load on imported bookmark data,...
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.
- Record
GHSA-7hmv-6p8v-7rmw- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
7.8
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.
- Record
CVE-2018-7889- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-7889
7.8
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.
- Record
DEBIAN-CVE-2018-7889- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-7889
7.8
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.
- Record
UBUNTU-CVE-2018-7889- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2018-0399 No score
Updated calibre packages fix security vulnerability
Updated calibre package fixes security vulnerability:
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 (CVE-2018-7889).
The python-html5-parser package is a new dependency for the updated calibre package and has been included with this update.
- Record
MGASA-2018-0399- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
calibreDebian:12 |
before 3.19.0+dfsg-1 | 3.19.0+dfsg-1 |
calibreDebian:13 |
before 3.19.0+dfsg-1 | 3.19.0+dfsg-1 |
calibreDebian:14 |
before 3.19.0+dfsg-1 | 3.19.0+dfsg-1 |
calibreMageia:6 |
before 3.27.1-2.mga6 | 3.27.1-2.mga6 |
python-html5-parserMageia:6 |
before 0.4.4-1.1.mga6 | 0.4.4-1.1.mga6 |
python-lxmlMageia:6 |
before 3.8.0-1.1.mga6 | 3.8.0-1.1.mga6 |
calibreUbuntu:16.04:LTS |
All versions, plus listed versions 2.33.0+dfsg-1build12.38.0+dfsg-12.45.0+dfsg-12.45.0+dfsg-1build12.48.0+dfsg-1 Show 4 moreShow less2.48.0+dfsg-1build12.54.0+dfsg-12.55.0+dfsg-12.55.0+dfsg-1ubuntu0.2 |
None known |
calibreUbuntu:26.04:LTS |
All versions, plus listed versions 8.8.0+ds-3build18.13.0+ds+~0.10.5-38.14.0+ds+~0.10.5-18.15.0+ds+~0.10.5-18.16.0+ds+~0.10.5-2 Show 4 moreShow less8.16.2+ds+~0.10.5-18.16.2+ds+~0.10.5-28.16.2+ds+~0.10.5-39.2.1+ds+~0.10.5-2build1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-7889 is a high vulnerability (CVSS 7.8) in Calibre-ebook Calibre, published March 8, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.51%, the 91st percentile. Fixed in calibre 3.19.0+dfsg-1.