CVE-2026-88899
KrytyczneCVSS 9.8Streszczenie
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.
Ocena ryzyka
Zdalny atakujący może wykonywać operacje na plikach poza katalogiem projektu, co może prowadzić do nieautoryzowanego dostępu, modyfikacji lub usunięcia plików w systemie.
Rekomendacja
Zaktualizuj oprogramowanie do wersji 0.31.0 lub nowszej oraz rozważ ograniczenie dostępu do punktu końcowego /api/opencode.
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-88938Średnie
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.
- 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-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 versions before 0.31.0 fail to properly validate the x-opencode-directory request header in the /api/opencode proxy endpoint. Remote attackers can supply arbitrary directory paths to execute file operations outside the project root on the host system.

