CVE-2026-39418
ŚrednieCVSS 5.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
MaxKB w wersjach 2.7.1 i niższych ma obejście ochrony sieci sandboxa poprzez socket.sendto() z flagą MSG_FASTOPEN. Uwierzytelniony użytkownik z uprawnieniami do edycji narzędzi może uzyskać dostęp do wewnętrznych usług zablokowanych przez konfigurację banned hosts.
Ocena ryzyka
Możliwy nieautoryzowany dostęp do wewnętrznych usług i obejście polityk izolacji sandboxa. Może to prowadzić do dalszej eksploracji sieci wewnętrznej.
Rekomendacja
Zaktualizować MaxKB do wersji 2.8.0. Ograniczyć uprawnienia do edycji narzędzi i zweryfikować konfigurację banned hosts oraz segmentację sieci.
Inne podatności w MaxKB
Zobacz wszystkie- CVE-2026-79916Krytyczne
MaxKB to open-source'owy asystent AI dla przedsiębiorstw. Przed wersją 2.10.5-lts uwierzytelnieni członkowie workspace mogą wstrzykiwać znaki kontrolne do pól access_key_id i secret_access_key AWS Bedrock, które funkcja _update_aws_credentials zapisuje do /root/.aws/credentials bez bezpiecznego parsowania. Atakujący może dopisać nowy profil AWS zawierający credential_process, a następnie wybrać go podczas późniejszej walidacji modelu, aby botocore wykonał kontrolowane przez atakującego polecenie jako root.
- CVE-2026-77521Krytyczne
MaxKB to open-source'owy asystent AI dla przedsiębiorstw. Przed wersją 2.10.5-lts asystenci z narzędziem, narzędziem MCP, umiejętnością lub podaplikacją używają SandboxShellBackend, który udostępnia narzędzie execute shell bez jego wykluczenia i pomija execute w interrupt_on, więc zatwierdzenie przez człowieka nie jest wymagane. Niezaufany czat lub przetworzona treść mogą zatem wywołać wykonanie polecenia; wdrożenia źródłowe z wyłączonym MAXKB_SANDBOX uruchamiają polecenia bezpośrednio jako użytkownik aplikacji, a oficjalny kontener root z opakowaniem gosu opartym na łańcuchach pozwalał na wykonanie metaznaków powłoki poza zamierzonym sandboxem.
- CVE-2026-79919Średnie
W MaxKB przed wersją 2.10.6-lts kod biblioteki funkcji działający w sandboxie LD_PRELOAD może wywołać ctypes.CDLL z callbacku importlib.abc.MetaPathFinder, tak aby heurystyka stosu wywołań dlopen zobaczyła ramkę importu Pythona, a następnie użyć niepodpiętego dlsym z RTLD_NEXT do rozwiązania prawdziwego wywołania systemowego glibc i obejścia czarnej listy wywołań systemowych sandboxa.
- CVE-2026-79918Średnie
W MaxKB przed wersją 2.10.6-lts sandbox LD_PRELOAD w ToolExecutor przechwytuje execve, execvpe i execveat, aby zapobiec tworzeniu podprocesów, ale nie przechwytuje fexecve. Uwierzytelniony atakujący zdolny do wykonania kodu narzędzia może wywołać fexecve, aby uruchomić proces poza zamierzoną polityką podprocesów sandboxa.
- CVE-2026-79917Średnie
W MaxKB w wersjach 2.7.0 do 2.10.4-lts endpoint POST /chat/api/{application_id}/chat/{chat_id}/share_chat sprawdza jedynie istnienie konwersacji, ale nie weryfikuje, czy należy ona do uwierzytelnionego chat_user_id ani do aplikacji powiązanej z tokenem wywołującego. Atakujący z dowolnym tokenem czatu i znanym chat_id ofiary może utworzyć publiczny link ChatShareLink ujawniający konwersację oraz stan PublicFileAccess umożliwiający pobranie powiązanych plików bez poświadczeń, bez możliwości cofnięcia.
- CVE-2026-77525Średnie
W MaxKB w wersji 2.10.2-lts i wcześniejszych trasy zarządzania rekordami czatu autoryzują application_id ze ścieżki, ale ładują rekordy używając globalnych wartości chat_id i chat_record_id bez potwierdzenia, że czat należy do autoryzowanej aplikacji. Zwykły użytkownik w tym samym workspace, znając chat_id utrwalonego rekordu ofiary, może odczytać rekordy czatu ofiary, a także skopiować odpowiedzi ofiary poprzez add_knowledge.
- CVE-2026-77523Wysokie
MaxKB, asystent AI dla przedsiębiorstw, w wersji 2.10.3-lts i wcześniejszych, ma podatność w trasie formularza parametrów modelu. Uwierzytelniony użytkownik z uprawnieniami do odczytu modelu w przestrzeni kontrolowanej przez atakującego może odczytać lub nadpisać model_params_form ofiary w innej przestrzeni, używając znanego model_id, bez uwzględnienia workspace_id w zapytaniu.
- CVE-2026-77522Średnie
W MaxKB w wersji 2.10.3-lts i wcześniejszych import i synchronizacja dokumentów web przekazuje URL uwierzytelnionego użytkownika do Fork.fork, który wywołuje requests.get z verify=False i bez ograniczeń schematów, adresów loopback, link-local, prywatnych ani zarezerwowanych. Treść odpowiedzi staje się treścią importowanego dokumentu, co pozwala niskouprzywilejowanemu użytkownikowi na odczyt metadanych chmury lub wewnętrznych usług HTTP przez serwer MaxKB.
- CVE-2026-77520Średnie
W MaxKB w wersji 2.10.2-lts i wcześniejszych zwykły użytkownik w tym samym workspace może uzyskać application_id innego użytkownika z endpointu rankingu pytań aplikacji na stronie głównej, gdy opublikowana aplikacja ofiary ma aktywność rankingową w wybranym zakresie dat. Atakujący mogący tworzyć i publikować aplikacje workflow może umieścić ujawniony identyfikator w węźle aplikacji workflow, uruchomić go, otrzymać dane wyjściowe ofiary i utworzyć trwałe rekordy application_chat pod aplikacją ofiary.
- CVE-2026-77519Średnie
W MaxKB w wersji 2.10.2-lts i wcześniejszych ścieżka uwierzytelniania /chat/api/mcp wyszukuje ApplicationApiKey tylko po sekrecie i statusie aktywności, bez egzekwowania sprawdzeń is_permanent i expire_time używanych przez standardowe API czatu. Wcześniej ważny, niepermanentny klucz aplikacji, który pozostaje aktywny po wygaśnięciu, może zainicjować endpoint MCP, wyświetlić metadane narzędzi opublikowanej aplikacji, wywołać tools/call i utworzyć trwałe rekordy application_chat.
Oryginalny opis (angielski, źródło NVD)
MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, sandbox network protection can be bypassed by using socket.sendto() with the MSG_FASTOPEN flag. This allows authenticated user with tool-editing permissions to reach internal services that are explicitly blocked by the sandbox's banned hosts configuration. MaxKB's sandbox uses LD_PRELOAD to hook the connect() function and block connections to banned IPs, but Linux's sendto() with the MSG_FASTOPEN flag can establish TCP connections directly through the kernel without ever calling connect(), completely bypassing the IP validation. Although sendto is listed in the syscall() wrapper, this is ineffective because glibc invokes the kernel syscall directly rather than routing through the hooked syscall() function. This issue has been fixed in version 2.8.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

