{"id":"CVE-2026-73249","title":"calibre is an e-book manager","summary":"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.ch…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","cwe":["CWE-862"],"published":"2026-08-11","updated":"2026-09-09","sourceUpdated":"2026-09-09T20:55:04.493","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-73249","references":[{"url":"https://github.com/kovidgoyal/calibre/commit/71295e8b62801e1ccecaa4fac47e6942f11cfe1e","label":"security-advisories@github.com"},{"url":"https://github.com/kovidgoyal/calibre/releases/tag/v9.12.0","label":"security-advisories@github.com"},{"url":"https://github.com/kovidgoyal/calibre/security/advisories/GHSA-5x64-w63v-x2g6","label":"security-advisories@github.com"},{"url":"https://github.com/kovidgoyal/calibre/security/advisories/GHSA-5x64-w63v-x2g6","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd"],"epss":0.00301,"epssPercentile":0.22937,"ingestedAt":"2026-09-09T21:22:45.530Z","slug":"CVE-2026-73249","body":"## Overview\n\ncalibre 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}