CVE-2026-89039: k6 MCP mógł odczytać pliki poza projektem
Prompt konwersji Playwright w k6 MCP przekraczał granicę katalogu roboczego. Sprawdź poprawkę kodu, uprawnienia procesu i dostęp integracji AI do sekretów.
- AUTOR
- Karol Rapacz / CEO Breachroad · OSCP · PNPT
- PUBLIKACJA
- 6 października 2026
- CZAS CZYTANIA
- 5 min czytania
- TEMAT
- Bezpieczeństwo AI
CVE-2026-89039, opublikowany 5 października, opisuje odczyt plików przez prompt convert_playwright_script w k6 MCP. Wywołujący mógł uzyskać pliki dostępne kontu procesu także poza projektem. Opis obejmuje wydania od 0.3.0, z wcześniejszym ujawnieniem 10 września.
Rekomendacja Breachroad: oceń razem dostęp do MCP i uprawnienia jego procesu. Ustal, kto może wywoływać funkcje integracji oraz jakie pliki są widoczne dla jej konta. Taka mapa powinna powstać przed uznaniem wdrożenia za ograniczone do jednego projektu.
Poprawiony kod trzeba powiązać z wdrożeniem
5 października scalono zmianę projektu #191. Usuwa ona automatyczne traktowanie zwykłego tekstu jako ścieżki do odczytu i wzmacnia kontrolę dostępu do plików. Sam fakt scalenia poprawki nie dowodzi, że używany obraz lub plik wykonywalny już ją zawiera.
W kodzie poprawki odwołania do plików przechodzą przez os.Root ograniczony do katalogu roboczego. Sprawdzane są rozszerzenia plików i cele dowiązań; odczyt blokowany jest też wtedy, gdy katalogiem roboczym jest katalog domowy użytkownika. Nie wskazujemy arbitralnie numeru bezpiecznego wydania: ustal, który pakiet zawiera tę zmianę, i potwierdź jego wdrożenie.
Kogo dotyczy kontrola
Zespoły korzystające z k6 MCP powinny sprawdzić konfigurację asystenta, lokalne procesy, obrazy kontenerowe i ewentualną wspólną usługę. Dokumentacja projektu opisuje tryby stdio oraz HTTP, a dla wdrożenia zdalnego zaznacza brak wbudowanego uwierzytelniania i potrzebę ochrony dostępu.
Wniosek Breachroad: granicę dostępu należy ustalać na podstawie konta, widocznych katalogów i dopuszczonych klientów. Nazwa integracji „testy wydajnościowe” nie ogranicza automatycznie plików, które potrafi odczytać proces. Zapisz, jakie sekrety znajdują się w jego zasięgu i kto odpowiada za tę konfigurację.
Co zrobić w zespole
- Ustal stan faktyczny. Zidentyfikuj działający pakiet lub obraz, katalog roboczy i konto procesu. Nie ograniczaj inwentaryzacji do konfiguracji zapisanej w repozytorium.
- Ogranicz dostęp podczas naprawy. Przy niepotwierdzonym stanie poprawki wyłącz narażoną funkcję lub integrację. W usłudze współdzielonej ustal, kto może ją wywoływać.
- Zmniejsz widoczność plików. Udostępnij tylko potrzebny projekt. Usuń zbędne montowania katalogów i dostęp do prywatnych poświadczeń użytkownika.
- Potwierdź zachowanie poprawki. W izolowanym środowisku użyj nieszkodliwych plików kontrolnych. Sprawdź odmowę odczytu spoza projektu, również przez dowiązanie, oraz poprawne działanie dozwolonego skryptu.
- Oceń wcześniejsze użycie. Jeśli są przesłanki odczytu sekretu, uruchom procedurę incydentową, ustal odbiorców odpowiedzi i zaplanuj wymianę poświadczenia. Nie kopiuj jego treści do kolejnych zgłoszeń.
To proponowana procedura Breachroad. Kontrolę odczytu trzeba przeprowadzić bez prawdziwych kluczy i tokenów produkcyjnych. Raport powinien odróżniać możliwość dostępu od potwierdzonego ujawnienia.
Przykład szkoleniowy: integracja uruchomiona jak edytor
W naszym fikcyjnym scenariuszu deweloper dodaje MCP do edytora. Proces otrzymuje szeroki widok katalogów użytkownika, choć zadanie wymaga jedynie skryptów testowych. Zespół ma wskazać właściciela uprawnień i sposób potwierdzenia, że plik spoza projektu nie trafi do odpowiedzi.
Dobra odpowiedź obejmuje zakres procesu, sprawdzenie poprawki i miejsce przechowywania wyników. Samo polecenie asystentowi, aby nie czytał sekretów, nie zastępuje technicznej kontroli dostępu. Ćwiczenie można przeprowadzić na opisie konfiguracji, bez uruchamiania ataku.
Szkolenia z cyberbezpieczeństwa i bezpiecznego AI dla organizacji pomagają ustalić zasady dopuszczania integracji i reagowania na ujawnienie danych. Podstawy omawiamy w poradniku o bezpieczeństwie MCP.
Źródła i wnioski Breachroad
Zakres błędu pochodzi z rekordu CVE, a naprawę potwierdzają repozytorium i podlinkowany kod. Dokumentacja opisuje transport i ochronę wdrożenia zdalnego. Plan działań oraz fikcyjny przykład są rekomendacjami Breachroad. Same źródła nie potwierdzają incydentu u konkretnej organizacji.


