Serwer do czytania Kavita w wersjach przed 0.9.0.2 zawiera krytyczną lukę umożliwiającą nieuwierzytelnionemu atakującemu uzyskanie tokenu JWT dla dowolnego użytkownika, w tym administratorów. Wystarczy znajomość nazwy użytkownika, co czyni tę podatność wyjątkowo niebezpieczną.
▸ Pokaż oryginał (EN)
Kavita is a cross platform reading server. Prior to 0.9.0.2, an Improper Token validation flaw permits a remote and unauthenticated threat actor to request a JWT for any user including admins given knowledge of their username. This vulnerability is fixed in 0.9.0.2.
Błąd polega na nieprawidłowej walidacji tokenów JWT (CWE-287, CWE-345, CWE-697) — aplikacja nie weryfikuje w sposób wystarczający tożsamości podmiotu żądającego wydania tokenu. Zdalny, nieuwierzytelniony atakujący może wysłać żądanie o token JWT dla dowolnego konta, podając jedynie nazwę użytkownika. W efekcie serwer wydaje ważny token bez sprawdzenia, czy żądający ma do tego prawo. Uzyskany token pozwala na pełne uwierzytelnienie w aplikacji z uprawnieniami przejętego konta.
Atakujący może przejąć kontrolę nad dowolnym kontem w aplikacji Kavita, włącznie z kontami administratorów, uzyskując pełny dostęp do zarządzania serwerem, zasobów bibliotecznych oraz danych innych użytkowników.
Należy zaktualizować Kavita do wersji 0.9.0.2 lub nowszej. Patch dostępny w referencjach producenta: https://github.com/Kareadita/Kavita/releases/tag/v0.9.0.2
Kavita w wersjach przed 0.9.0.2 (wszystkie platformy)
Podatność zgłoszona i naprawiona w ramach repozytorium GitHub projektu Kavita (advisory GHSA-m2v3-fcjh-hm22). Do wykorzystania wymagana jest wyłącznie znajomość nazwy użytkownika docelowego konta.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X