CVE-2026-40924
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący z uprawnieniami do tworzenia TaskRuns lub PipelineRuns może wywołać powtarzalne awarie poda resolverów, blokując rozwiązywanie zasobów w całym klastrze (DoS). Wpływa to na dostępność potoków CI/CD w całej organizacji.
Rekomendacja
Zaktualizuj Tekton Pipelines do wersji 1.0.2, 1.3.4, 1.6.2, 1.9.3 lub 1.11.1 (lub nowszej). Ogranicz uprawnienia do tworzenia TaskRuns i PipelineRuns oraz rozważ separację resolverów do oddzielnych podó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-40938Wysokie
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.
- 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 HTTP resolver's FetchHttpResource function calls io.ReadAll(resp.Body) with no response body size limit. Any tenant with permission to create TaskRuns or PipelineRuns that reference the HTTP resolver can point it at an attacker-controlled HTTP server that returns a very large response body within the 1-minute timeout window, causing the tekton-pipelines-resolvers pod to be OOM-killed by Kubernetes. Because all resolver types (Git, Hub, Bundle, Cluster, HTTP) run in the same pod, crashing this pod denies resolution service to the entire cluster. Repeated exploitation causes a sustained crash loop. The same vulnerable code path is reached by both the deprecated pkg/resolution/resolver/http and the current pkg/remoteresolution/resolver/http implementations. 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

