CVE-2026-40938
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 56 - wyżej niż 56% wszystkich znanych CVE
Streszczenie
Podatność w Tekton Pipelines pozwala atakującemu na wstrzyknięcie flag do polecenia git fetch poprzez parametr rewizji resolwera git. Brak walidacji, czy parametr nie zaczyna się od myślnika, umożliwia wykonanie dowolnego binarnego na podzie resolwera. W połączeniu z dozwolonymi lokalnymi ścieżkami URL, atakujący może eskalować uprawnienia i wykraść sekrety z całego klastra.
Ocena ryzyka
Ryzyko dla organizacji obejmuje pełną kompromitację klastra Kubernetes, ponieważ pod resolwera ma dostęp do wszystkich sekretów w klastrze. Atakujący może wykraść poufne dane, takie jak hasła, klucze API i certyfikaty, co prowadzi do naruszenia bezpieczeństwa całej infrastruktury.
Rekomendacja
Należy natychmiast zaktualizować Tekton Pipelines do wersji 1.0.2, 1.3.4, 1.6.2, 1.9.3 lub 1.11.1 w zależności od używanej gałęzi. Dodatkowo, ogranicz dostęp do tworzenia obiektów ResolutionRequest tylko do zaufanych podmiotów.
Inne podatności w Tekton Pipelines
Zobacz wszystkie- CVE-2026-33211Krytyczne
Podatność w projekcie Tekton Pipelines umożliwia atak typu path traversal przez parametr `pathInRepo` w resolverze git. Osoba z uprawnieniami do tworzenia `ResolutionRequests` może odczytać dowolne pliki z systemu plików resolwera, w tym tokeny kont serwisowych.
- CVE-2026-40924Średnie
W projekcie Tekton Pipelines funkcja FetchHttpResource resolvera HTTP wywołuje io.ReadAll(resp.Body) bez limitu rozmiaru odpowiedzi. Każdy tenant z uprawnieniami do tworzenia TaskRuns lub PipelineRuns może wskazać kontrolowany przez atakującego serwer HTTP zwracający bardzo dużą odpowiedź w oknie 1 minuty, co powoduje zabicie poda tekton-pipelines-resolvers przez OOM w Kubernetes. Ponieważ wszystkie typy resolverów działają w tym samym podzie, awaria odbiera usługę rozwiązywania całemu klastrowi, a powtarzane wykorzystanie powoduje trwałą pętlę awarii.
- CVE-2026-40923Średnie
Tekton Pipelines w wersjach od 1.0.0 do 1.0.2, 1.3.4, 1.6.2, 1.9.3 i 1.11.1 (wyłącznie) zawiera obejście walidacji ograniczeń ścieżek VolumeMount. Poprzez komponenty przejścia ścieżki .. można zamontować wolumeny w zastrzeżonych wewnętrznych ścieżkach /tekton/. Sprawdzenie ograniczenia używa strings.HasPrefix bez filepath.Clean, więc ścieżka taka jak /tekton/home/../results przechodzi walidację, ale w czasie działania wskazuje na /tekton/results. Wersje 1.0.2, 1.3.4, 1.6.2, 1.9.3 i 1.11.1 naprawiają problem.
- CVE-2026-40161Wysokie
W projekcie Tekton Pipelines, w wersjach od 1.0.0 do 1.0.1 oraz 1.3.4, 1.6.2, 1.9.3, 1.11.1, resolver Git w trybie API wysyła skonfigurowany token API Git do kontrolowanego przez użytkownika adresu serverURL, gdy parametr token jest pomijany. Użytkownik z uprawnieniami do tworzenia TaskRun lub PipelineRun może wyeksportować wspólny token API.
- CVE-2026-25542Średnie
Podatność w Tekton Pipelines w wersjach od 0.43.0 do przed 1.0.2, 1.3.4, 1.6.2, 1.9.3 i 1.11.1. Weryfikacja zaufanych zasobów używa regexp.MatchString, które dopasowuje wzorzec w dowolnym miejscu ciągu, więc niezabezpieczone wzorce można obejść za pomocą ciągów źródłowych zawierających zaufany wzorzec jako podciąg, co może zmienić tryb weryfikacji lub klucze.
- CVE-2023-37264Niskie
Projekt Tekton Pipelines nie weryfikuje identyfikatorów UID dzieci w wersji 0.35.0 i nowszych, co pozwala użytkownikom z dostępem do tworzenia TaskRuns na tworzenie własnych zadań, które są akceptowane przez kontroler Pipelines jako zadania podrzędne.
Oryginalny opis (angielski, źródło NVD)
Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the git resolver's revision parameter is passed directly as a positional argument to git fetch without any validation that it does not begin with a - character. Because git parses flags from mixed positional arguments, an attacker can inject arbitrary git fetch flags such as --upload-pack=<binary>. Combined with the validateRepoURL function explicitly permitting URLs that begin with / (local filesystem paths), a tenant who can submit ResolutionRequest objects can chain these two behaviors to execute an arbitrary binary on the resolver pod. The tekton-pipelines-resolvers ServiceAccount holds cluster-wide get/list/watch on all Secrets, so code execution on the resolver pod enables full cluster-wide secret exfiltration. Versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1 fix the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

