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.
Configurations

No configuration.

History

23 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) calibre es un gestor de libros electrónicos. Antes de 9.12.0, el endpoint del Content Server de calibre POST /book-update-annotations/{library_id}/{book_id}/{fmt} en src/calibre/srv/books.py omite needs_db_write=True, causando que Router.dispatch() omita ctx.check_for_write_access() antes de que update_annotations() pase JSON controlado por el atacante a db.merge_annotations_for_book(), lo que permite a un usuario de solo lectura o a un usuario anónimo en una implementación no autenticada persistir cambios no autorizados en las anotaciones de libros. Este problema está solucionado en la versión 9.12.0.

Information

Published : 2026-08-11 22:19

Updated : 2026-10-24 15:10


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