CVE-2026-73249
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
calibre to menedżer e-booków. Przed wersją 9.12.0 punkt końcowy Content Server POST /book-update-annotations/{library_id}/{book_id}/{fmt} w src/calibre/srv/books.py pomija needs_db_write=True, co powoduje, że Router.dispatch() pomija ctx.check_for_write_access() przed update_annotations(), który przekazuje kontrolowane przez atakującego dane JSON do db.merge_annotations_for_book(). Pozwala to użytkownikowi tylko do odczytu lub anonimowemu użytkownikowi w niezabezpieczonym wdrożeniu na trwałe zapisanie nieautoryzowanych zmian adnotacji książek. Problem naprawiono w wersji 9.12.0.
Ocena ryzyka
Nieautoryzowani użytkownicy mogą modyfikować adnotacje książek, co może prowadzić do naruszenia integralności danych i zaufania do systemu.
Rekomendacja
Zaktualizuj calibre do wersji 9.12.0 lub nowszej. Upewnij się, że dostęp do Content Server jest odpowiednio zabezpieczony.
Inne podatności w calibre
Zobacz wszystkie- CVE-2026-73248Wysokie
Calibre przed wersją 9.12.0 przetwarza sterowane przez atakującego metadane composite_template ze złośliwych plików EPUB, OPF, PDF lub podobnych przez program: i zagnieżdżone wywołanie template(), którego formatter nie dziedziczy allow_python_templates=False, co pozwala zagnieżdżonemu szablonowi python: dotrzeć do compile_python_template i wykonać dowolny kod Pythona podczas otwierania lub importowania pliku. Problem został naprawiony w wersji 9.12.0.
- CVE-2026-53511Wysokie
Podatność w calibre przed wersją 9.10.0 pozwala na wykonanie dowolnego kodu Python przez złośliwy plik EPUB, OPF lub PDF. Atakujący może osadzić niestandardową definicję kolumny z szablonem python: w metadanych calibre:user_metadata, która jest przekazywana bez sanityzacji do funkcji exec() w formaterze szablonów.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

