Junglewise Threat Intelligence

CVE-2026-73249: calibre Content Server unauthenticated annotation bypass

CVE-2026-73249 · Severity: high · CVSS 7.5 · Published 2026-08-11

Executive brief

calibre is a popular e-book management and distribution tool. Its Content Server component allows users to browse and read books remotely. A flaw in version prior to 9.12.0 allows unauthenticated or read-only users to modify book annotations (notes and highlights) through a missing access control check, potentially corrupting or altering shared libraries without authorization.

Technical details

The vulnerability is an authorization bypass in the Content Server's POST /book-update-annotations endpoint (src/calibre/srv/books.py). The endpoint handler function omits the needs_db_write=True parameter in its decorator, causing the Router.dispatch() function to skip the ctx.check_for_write_access() authorization check. As a result, attacker-controlled JSON from the request body is passed directly to db.merge_annotations_for_book() without validating the caller's permissions. An unauthenticated user on a publicly exposed deployment, or a read-only user on any deployment, can exploit this to persist unauthorized annotation modifications to any book in the library. The fix, applied in version 9.12.0 commit 71295e8, adds needs_db_write=True to the endpoint decorator to restore the access control check.

Affected products

  • calibre calibre before 9.12.0

Timeline

  • 2026-08-11: disclosed
  • 2026-07-31: patched: Version 9.12.0 released with fix

References