What is CVE-2026-73249?
calibre is an e-book manager. Prior to 9.12.0, the calibre Content Server endpoint POST /book-update-annotations/{library_id}/{book_id}/{fmt} in src/calibre/srv/books.py omits needs_db_write=True, causing Router.dispatch() to skip ctx.check_for_write_access() before update_annotations() passes attacker-controlled JSON to db.merge_annotations_for_book(), which allows a readonly user or an anonymous user on an unauthenticated deployment to persist unauthorized book annotation changes. This issue is fixed in version 9.12.0.
The record classifies CVE-2026-73249 under weakness class CWE-862. Its CVSS v3 base vector states that the flaw is reachable remotely over the network, needs no prior authentication, needs no user interaction, and has high impact on integrity. 1 affected-product entry is recorded, across 1 vendor, listed below. The identifier was first published 55 days ago.
Severity and exploitation probability
- CVSS v3.1 base score
- 7.5 — HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - EPSS (FIRST)
- 0.2% probability of exploitation in the next 30 days, higher than 16.1% of all scored CVEs
- CISA KEV
- Not listed in the CISA Known Exploited Vulnerabilities catalog
- Threadlinqs priority
- 4.4/10 — a Threadlinqs composite of the CVSS base score, the EPSS percentile and public exploit availability
- Published
- 2026-08-11, last modified 2026-08-12
Is CVE-2026-73249 being exploited?
It currently carries a trending score of 34 in the Threadlinqs vulnerability feed.
Affected products and versions
- kovidgoyal: calibre
How to fix CVE-2026-73249
No vendor patch reference has been recorded for CVE-2026-73249 in the tracked sources. Follow the references below for a fix, and treat the products listed above as exposed until the vendor states otherwise.
Threat activity tracking CVE-2026-73249
No threat campaign in the Threadlinqs corpus currently references CVE-2026-73249, in its CVE list or as an indicator. The linkage is recomputed from the live corpus on every daily ingest, so this section fills in as soon as a tracked campaign cites the identifier.
Sources
Enriched from CVE.org, NVD, FIRST EPSS. Last verified by Threadlinqs on . This product uses the NVD API but is not endorsed or certified by the NVD.