CVE-2026-58580
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 — wyżej niż 5% wszystkich znanych CVE
Streszczenie
Podatność w LobeChat do wersji 2.2.9 wdrożeń serwer-baza danych umożliwia nieautoryzowany dostęp do obiektów w modelu MessageModel. Metody updateMessagePlugin, updatePluginState, updatePluginError, updateTTS i updateTranslate filtrują docelowe wiersze wyłącznie po identyfikatorze wiadomości, pomijając zakres userId stosowany w innych metodach, a findMessagePlugin odczytuje dane tylko po id. Uwierzytelniony użytkownik znający identyfikator wiadomości innego użytkownika może nadpisać metadane wywołań narzędzi pluginu, stan/ błędy pluginu, rekordy zamiany tekstu na mowę i tłumaczenia ofiary, a zmodyfikowana treść jest zwracana ofierze.
Ocena ryzyka
Ryzyko polega na możliwości manipulacji danymi innych użytkowników, co może prowadzić do naruszenia integralności danych, podszywania się pod ofiarę lub zakłócenia działania funkcji komunikacyjnych (np. TTS, tłumaczenia). Atak wymaga znajomości nieenumerowalnego identyfikatora wiadomości ofiary, co ogranicza, ale nie eliminuje ryzyka.
Rekomendacja
Należy niezwłocznie zaktualizować LobeChat do wersji 2.2.10 lub nowszej, która zawiera poprawkę usuwającą brak autoryzacji na poziomie obiektu. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do API tRPC dla uwierzytelnionych użytkowników i monitorować nietypowe żądania modyfikacji wiadomości.
Oryginalny opis (angielski, źródło NVD)
LobeChat through 2.2.9 server-database deployments are vulnerable to broken object-level authorization in MessageModel. The updateMessagePlugin, updatePluginState, updatePluginError, updateTTS and updateTranslate methods filter target rows by message id alone, omitting the userId scope that sibling methods apply, and findMessagePlugin reads back by id alone. Reachable via the corresponding tRPC message procedures, an authenticated user who knows another user's message identifier can overwrite that victim's plugin tool-call metadata, plugin state/error, text-to-speech and translation records on the same instance, and the tampered content is served back to the victim. Exploitation requires knowledge of the victim's non-enumerable message identifier.

