CVE-2026-88938
ŚrednieCVSS 6.5Streszczenie
Narzędzie knowns w wersjach do 0.33.0 nie ogranicza argumentu path narzędzia MCP code.find do katalogu głównego projektu, co pozwala sesjom agenta AI na odczyt plików źródłowych w dowolnym miejscu hosta. Atakujący może podać ścieżki absolutne lub sekwencje przejścia relatywnego w argumencie path i pobrać pełną zawartość plików spoza zamierzonego katalogu projektu.
Ocena ryzyka
Agent AI może zostać nakłoniony do odczytu dowolnych plików na hoście, co prowadzi do wycieku kodu źródłowego, danych uwierzytelniających i innych wrażliwych informacji. Stanowi to poważne ryzyko dla poufności.
Rekomendacja
Zaktualizuj knowns do wersji nowszej niż 0.33.0, która ogranicza argument path do katalogu głównego projektu. Ogranicz uprawnienia procesu uruchamiającego knowns, aby zminimalizować zakres dostępnych plików.
Inne podatności w knowns
Zobacz wszystkie- CVE-2026-88940Średnie
Narzędzie knowns w wersjach do 0.33.0 nie waliduje parametru zapytania path w punkcie końcowym przeglądania workspace, co pozwala zdalnym atakującym na enumerację dowolnych katalogów w systemie plików hosta. Atakujący może przechodzić przez strukturę katalogów, aby zlokalizować katalogi projektów i zidentyfikować cele do dalszej eksploatacji.
- CVE-2026-88939Wysokie
knowns do wersji 0.33.0 włącznie bezwarunkowo zwalnia akcję project.set z kontroli uprawnień. Sesje agenta z uprawnieniami tylko do odczytu mogą obejść ograniczenia, wywołując project.set, aby wskazać serwerowi inny katalog projektu i uzyskać możliwość zapisu.
- CVE-2026-88937Wysokie
Narzędzie knowns w wersjach do 0.33.0 nieprawidłowo waliduje ścieżki docelowe szablonów w silniku generowania kodu, co pozwala na odczyt i zapis dowolnych plików poza katalogiem projektu. Atakujący może dostarczyć złośliwe szablony wykorzystujące przechodzenie katalogów (path traversal) do nadpisania profili powłoki, kradzieży poświadczeń lub trwałego wykonania kodu na systemie ofiary.
- CVE-2026-88899Krytyczne
Znane wersje przed 0.31.0 nieprawidłowo walidują nagłówek żądania x-opencode-directory w punkcie końcowym proxy /api/opencode. Zdalni atakujący mogą podać dowolne ścieżki katalogów, aby wykonywać operacje na plikach poza katalogiem głównym projektu w systemie hosta.
- CVE-2026-86543Krytyczne
Podatność w knowns przed wersją 0.30.0 polega na serwowaniu API zarządzania bez uwierzytelnienia na wszystkich interfejsach sieciowych domyślnie, bez wymaganego hasła na świeżych instalacjach. Atakujący mogą uzyskać dostęp do nieuwierzytelnionego punktu końcowego /api/tunnel/start, aby utworzyć publiczny tunel i opublikować API pod publicznie dostępnym adresem.
- CVE-2026-86542Krytyczne
Podatność w knowns przed wersją 0.30.0 polega na braku walidacji nazw importów w trasach importu, co pozwala nieuwierzytelnionym atakującym na zapisywanie plików poza katalogiem imports. Atakujący mogą użyć sekwencji przejścia do katalogu w parametrze name, aby opuścić katalog imports i nadpisać dowolne pliki zapisywalne przez proces serwera.
- CVE-2026-86775Wysokie
Pakiet npm "knowns" w wersjach <= 0.29.1 zawiera podatność path traversal w Document API. Funkcja cleanDocPath() nie neutralizuje sekwencji ../, a doc_store.go buduje ścieżkę docelową bez weryfikacji, czy znajduje się ona w katalogu dokumentów. W domyślnej konfiguracji (Management API bez uwierzytelniania, nasłuchujące na wszystkich interfejsach) zdalny nieuwierzytelniony atakujący może odczytywać, tworzyć, nadpisywać lub usuwać dowolne pliki .md oraz tworzyć katalogi na hoście. Podatność naprawiono w wersji 0.30.0.
- CVE-2026-86544Wysokie
Podatność w knowns przed wersją 0.30.0 zawiera obejście autoryzacji, gdzie akcje mutujące kod są błędnie klasyfikowane jako operacje tylko do odczytu. Atakujący z sesjami z ograniczonym odczytem mogą wykorzystać code.replace do modyfikacji konfiguracji uprawnień i eskalacji uprawnień w kolejnych wywołaniach.
- CVE-2026-86541Wysokie
Podatność w knowns przed wersją 0.30.0 zawiera podatność na przechodzenie po ścieżkach w funkcji handleCodeReplace(), która pozwala atakującym na nadpisywanie dowolnych plików poza katalogiem głównym projektu. Atakujący mogą podać ścieżki bezwzględne lub względne zawierające sekwencje przechodzenia po katalogach, aby zapisać złośliwą treść w wrażliwych plikach, takich jak skrypty startowe powłoki lub pliki konfiguracyjne SSH.
- CVE-2026-86540Wysokie
Podatność w knowns przed wersją 0.30.0 polega na braku walidacji pola binarnego settings.lsp.languages w plikach konfiguracyjnych projektu, co pozwala atakującym na wykonanie dowolnych plików binarnych poprzez spreparowanie złośliwego pliku .knowns/config.json. Gdy repozytorium z taką konfiguracją zostanie otwarte, niewalidowana ścieżka binarna jest wykonywana dwukrotnie na koncie użytkownika bez żadnej weryfikacji.
Oryginalny opis (angielski, źródło NVD)
knowns through 0.33.0 fails to confine the path argument of the code.find MCP tool to the project root, allowing AI agent sessions to read source files anywhere on the host. Attackers can supply absolute paths or relative traversal sequences to the path argument and retrieve full file contents from outside the intended project directory.

