CVE-2026-55611
NieznaneCVSS 0.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Podatność w AnythingLLM w wersjach od 1.11.1 do 1.14.1 umożliwia menedżerowi lub administratorowi (w trybie wieloużytkownikowym) usunięcie pliku przetworzonego dowolnego innego użytkownika w dowolnym obszarze roboczym, nawet jeśli nie jest jego członkiem. Problem wynika z braku sprawdzenia własności pliku w przepływie POST /api/workspace/:slug/embed-parsed-file/:fileId, gdzie plik jest usuwany wyłącznie na podstawie identyfikatora numerycznego, a serwer zwraca komunikat „Nie znaleziono pliku” mimo faktycznego usunięcia.
Ocena ryzyka
Atakujący może usunąć pliki przetworzone innych użytkowników, co prowadzi do utraty danych i zakłócenia działania aplikacji. Podatność umożliwia enumerację identyfikatorów plików i nieautoryzowane usunięcie ich bez wiedzy ofiary.
Rekomendacja
Należy niezwłocznie zaktualizować AnythingLLM do wersji 1.14.1 lub nowszej, która zawiera poprawkę usuwającą lukę. W międzyczasie warto ograniczyć dostęp do interfejsu API dla zaufanych użytkowników.
Inne podatności w AnythingLLM
Zobacz wszystkie- CVE-2026-24478Wysokie
AnythingLLM przed wersją 1.10.0 ma krytyczną podatność na przechodzenie po ścieżkach (Path Traversal) w integracji DrupalWiki, co pozwala złośliwemu administratorowi (lub atakującemu, który przekona administratora do skonfigurowania złośliwego adresu URL DrupalWiki) na zapisywanie dowolnych plików na serwerze. Może to prowadzić do zdalnego wykonania kodu (RCE).
- CVE-2026-24477Wysokie
AnythingLLM przed wersją 1.10.0, gdy jest skonfigurowany z Qdrant jako bazą wektorową z kluczem API, może ujawnić ten klucz w postaci zwykłego tekstu nieuwierzytelnionym użytkownikom przez endpoint `/api/setup-complete`. Ujawnienie klucza pozwala atakującemu na pełny dostęp do bazy wektorowej Qdrant.
- CVE-2026-72917Średnie
W AnythingLLM w wersjach od 1.0.0 do 1.15.0 proces odzyskiwania konta bez uwierzytelnienia ma wadę w funkcji recoverAccount(), która nie przycina wartości kodów odzyskiwania przed ich deduplikacją. Dzięki temu atakujący, znając nazwę użytkownika i jeden kod odzyskiwania, może dwukrotnie wysłać ten sam kod z różnymi spacjami i spełnić wymóg dwóch kodów, a następnie przejąć konto, w tym administratora.
- CVE-2026-48789Średnie
Aplikacja AnythingLLM przed wersją 1.13.0 na systemie Windows pozwalała na wykorzystanie zakodowanej absolutnej ścieżki do folderu dokumentów, co mogło prowadzić do uzyskania dostępu do plików poza zamierzonym katalogiem dokumentów.
- CVE-2026-48116Wysokie
W AnythingLLM przed wersją 1.13.0, umiejętność agenta filesystem-search-files przekazuje wzorzec kontrolowany przez LLM do narzędzia ripgrep jako argument pozycyjny bez separatora --. ripgrep interpretuje argumenty zaczynające się od - jako opcje, więc wzorzec --pre=/bin/sh zamienia ripgrep w executor skryptów, uruchamiając /bin/sh dla każdego pliku. Atakujący mogą to wykorzystać wraz z umiejętnością filesystem-write-text-file do wykonania dowolnych poleceń w kontenerze serwera.
- CVE-2026-47713Niskie
W AnythingLLM przed wersją 1.13.0, zatwierdzony token urządzenia mobilnego utworzony w trybie jednoosobowym może przetrwać migrację do trybu wieloosobowego, nawet gdy rekord urządzenia ma userId = null. W trybie wieloosobowym taki nieaktualny token jest nadal akceptowany przez middleware uwierzytelniania mobilnego, co pozwala na wyliczenie obszarów roboczych i treści bez filtrowania per-użytkownika.
- CVE-2026-45403Niskie
W AnythingLLM przed wersją 1.13.0 narzędzie do kopiowania plików agenta sprawdza tylko najwyższy poziom ścieżek źródłowych i docelowych. Rekurencyjna funkcja kopiująca nie weryfikuje każdego elementu potomnego ani nie odrzuca dowiązań symbolicznych, co pozwala na ominięcie ograniczeń i skopiowanie plików spoza dozwolonego katalogu głównego.
- CVE-2026-42456Średnie
Podatność IDOR w AnythingLLM przed wersją 1.12.1 umożliwia uwierzytelnionemu użytkownikowi dostęp do odpowiedzi asystenta innego użytkownika w formie audio. Endpoint GET /api/workspace/:slug/tts/:chatId nie sprawdza własności czatu, tylko członkostwa w przestrzeni roboczej.
Oryginalny opis (angielski, źródło NVD)
AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. From 1.11.1 until 1.14.1, userId/workspaceId scoping to the parsed-files read/delete paths was added. However, the POST /api/workspace/:slug/embed-parsed-file/:fileId flow still deletes the target file by primary key only, with no ownership check, inside two finally{} blocks that run even when the ownership-checked read fails. As a result a manager or admin (multi-user mode) can delete any other user's parsed file in any workspace — including workspaces they are not a member of — by enumerating integer fileIds. The server even returns "File not found" while still deleting the file. This vulnerability is fixed in 1.14.1.

