Luka w zabezpieczeniach CVE-2025-68668 n8n
Badacze cyberbezpieczeństwa ujawnili nową, poważną lukę w zabezpieczeniach n8n, popularnej platformie automatyzacji przepływów pracy o otwartym kodzie źródłowym. Luka może umożliwić uwierzytelnionemu atakującemu uruchomienie dowolnych poleceń systemu operacyjnego na serwerze bazowym, co potencjalnie może doprowadzić do całkowitego przejęcia kontroli nad systemem.
Problem jest oznaczony numerem CVE-2025-68668 i ma wynik CVSS 9,9, co plasuje go zdecydowanie w kategorii zagrożenia krytycznego. Został sklasyfikowany jako awaria mechanizmu ochronnego.
Spis treści
Kto jest zagrożony i dlaczego to ważne
Ta luka dotyczy wersji n8n od 1.0.0 do 2.0.0 (z wyłączeniem). Każdy uwierzytelniony użytkownik z uprawnieniami do tworzenia lub modyfikowania przepływów pracy może wykorzystać lukę do wykonywania poleceń systemowych z takimi samymi uprawnieniami jak proces n8n.
Słabość wynika z obejścia sandboxa w węźle kodu Pythona, który opiera się na Pyodide. Poprzez nadużycie tego komponentu, atakujący może uciec od docelowego środowiska wykonawczego i wejść w bezpośrednią interakcję z systemem operacyjnym hosta.
Problem został całkowicie naprawiony w wersji n8n 2.0.0.
Awaria techniczna: Ucieczka z piaskownicy Pythona
Według oficjalnego ostrzeżenia, mechanizmy sandboxingu węzła kodu Pythona były niewystarczające, co umożliwiało atakującym ominięcie ograniczeń i wywołanie wykonania dowolnego polecenia. To drastycznie zwiększa ryzyko dla zagrożonych systemów, szczególnie w środowiskach, w których wielu użytkowników może projektować lub edytować przepływy pracy.
Ulepszenia zabezpieczeń i długoterminowe rozwiązania n8n
W odpowiedzi na szersze obawy związane z sandboxingiem, n8n wprowadził w wersji 1.111.0 natywny model wykonywania zadań w Pythonie oparty na module Task Runner jako opcjonalną, bezpieczniej izolowaną funkcję. Model ten można włączyć za pomocą zmiennych środowiskowych N8N_RUNNERS_ENABLED i N8N_NATIVE_PYTHON_RUNNER.
W wersji 2.0.0 ta bezpieczniejsza implementacja jest teraz domyślnie włączona, co skutecznie eliminuje lukę w zabezpieczeniach.
Zalecane środki zaradcze dla systemów bez poprawek
Dopóki aktualizacja do wersji 2.0.0 nie będzie możliwa, n8n zaleca stosowanie następujących tymczasowych zabezpieczeń:
Całkowicie wyłącz węzeł kodu, ustawiając :
NODES_EXCLUDE: ['n8n-nodes-base.code']
Wyłącz obsługę języka Python w węźle Code Node, ustawiając :
N8N_PYTHON_ENABLED=fałsz
Wymuś użycie piaskownicy Pythona opartej na programie Task Runner poprzez :
N8N_RUNNERS_ENABLED i N8N_NATIVE_PYTHON_RUNNER
Kroki te znacznie zmniejszają ryzyko wydostania się z piaskownicy i wykonania poleceń.
Część niepokojącego trendu
To ujawnienie następuje tuż po ujawnieniu innej krytycznej luki w zabezpieczeniach n8n, CVE-2025-68613 (również ocenionej na 9,9 CVSS), która również może prowadzić do wykonania dowolnego kodu w pewnych warunkach. Wszystkie te problemy podkreślają pilną potrzebę priorytetowego traktowania aktualizacji przez administratorów i ograniczania uprawnień w przepływie pracy.