Projekt Tekton Pipelines zapewnia zasoby o stylistyce k8s do deklarowania pipelineów CI/CD. Przed wersją 1.11.1 funkcja FetchHttpResource HTTP resolvera wywołuje io.ReadAll(resp.Body) bez limitu rozmiaru treści odpowiedzi. Każdy tenant z uprawnieniami do tworzenia TaskRuns lub PipelineRuns odwołujących się do HTTP resolvera może wskazać go na kontrolowany przez atakującego serwer HTTP, który zwraca bardzo dużą treść odpowiedzi w ciągu 1-minutowego okresu timeout'u, powodując zabicie poda tekton-pipelines-resolvers przez Kubernetes z powodu braku pamięci. Ponieważ wszystkie typy resolverów (Git, Hub, Bundle, Cluster, HTTP) działają w tym samym podzie, uszkodzenie tego poda odmawia usługi resolvera całemu clusterowi. Wielokrotne wykorzystanie powoduje trwałą pętlę crash'ów. Ta sama podatna ścieżka kodu jest osiągalna zarówno przez przestarzałą implementację pkg/resolution/resolver/http, jak
▸ Pokaż oryginał (EN)
Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Prior to 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. This vulnerability is fixed in 1.11.1.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HLinuxfoundation Tekton Pipelines
APPLinuxfoundation< 1.11.1
Powiązane podatności
Path traversal w Tekton Pipelines git resolver — odczyt dowolnych plików
Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version...
Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version...
Projekt Tekton Pipelines udostępnia zasoby w stylu k8s do deklarowania pipelinów CI/CD. W wersjach od 0.43.0 d...
Projekt Tekton Pipelines udostępnia zasoby w stylu k8s do deklarowania pipelinów CI/CD. Przed wersją 1.11.1 ob...