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.
References
Configurations
No configuration.
History
No history.
Information
Published : 2026-08-11 22:19
Updated : 2026-09-09 20:55
NVD link : CVE-2026-73249
Mitre link : CVE-2026-73249
CVE.ORG link : CVE-2026-73249
JSON object : View
Products Affected
No product.
CWE
CWE-862
Missing Authorization
