Tekton Pipelines: HTTP Resolver Unbounded Response Body Read Enables Denial of Service via Memory Exhaustion
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 7 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| backstage | pipeline | 1.0.0 to before 1.0.2; 1.2.0 to before 1.3.4; 1.4.0 to before 1.6.2; 1.7.0 to before 1.9.3; 1.10.0 to before 1.11.1 | 1.0.2, 1.3.4, 1.6.2, 1.9.3, 1.11.1 | Patch available | CNA |
| — | github.com/tektoncd/pipeline (Go) | 1.10.0 to before 1.11.1 | 1.11.1 | Patch available | GHSA-m2cx-gpqf-qf74 |
| — | github.com/tektoncd/pipeline (Go) | 1.0.0 to before 1.0.2 | 1.0.2 | Patch available | GHSA-m2cx-gpqf-qf74 |
| — | github.com/tektoncd/pipeline (Go) | 1.2.0 to before 1.3.4 | 1.3.4 | Patch available | GHSA-m2cx-gpqf-qf74 |
| — | github.com/tektoncd/pipeline (Go) | 1.4.0 to before 1.6.2 | 1.6.2 | Patch available | GHSA-m2cx-gpqf-qf74 |
| — | github.com/tektoncd/pipeline (Go) | 1.7.0 to before 1.9.3 | 1.9.3 | Patch available | GHSA-m2cx-gpqf-qf74 |
- pipeline Vendorbackstage Affected 1.0.0 to before 1.0.2; 1.2.0 to before 1.3.4; 1.4.0 to before 1.6.2; 1.7.0 to before 1.9.3; 1.10.0 to before 1.11.1 Fixed in 1.0.2, 1.3.4, 1.6.2, 1.9.3, 1.11.1 Patch available CNA
- github.com/tektoncd/pipeline (Go) Vendor— Affected 1.10.0 to before 1.11.1 Fixed in 1.11.1 Patch available GHSA-m2cx-gpqf-qf74
- github.com/tektoncd/pipeline (Go) Vendor— Affected 1.0.0 to before 1.0.2 Fixed in 1.0.2 Patch available GHSA-m2cx-gpqf-qf74
- github.com/tektoncd/pipeline (Go) Vendor— Affected 1.2.0 to before 1.3.4 Fixed in 1.3.4 Patch available GHSA-m2cx-gpqf-qf74
- github.com/tektoncd/pipeline (Go) Vendor— Affected 1.4.0 to before 1.6.2 Fixed in 1.6.2 Patch available GHSA-m2cx-gpqf-qf74
- github.com/tektoncd/pipeline (Go) Vendor— Affected 1.7.0 to before 1.9.3 Fixed in 1.9.3 Patch available GHSA-m2cx-gpqf-qf74
Remediation
- Fix · CNA pipeline (tektoncd) Fixed in 1.0.2, 1.3.4, 1.6.2, 1.9.3, 1.11.1
- Fix · GHSA-m2cx-gpqf-qf74 github.com/tektoncd/pipeline (Go) Fixed in 1.11.1 Advisory →
- Fix · GHSA-m2cx-gpqf-qf74 github.com/tektoncd/pipeline (Go) Fixed in 1.0.2 Advisory →
- Fix · GHSA-m2cx-gpqf-qf74 github.com/tektoncd/pipeline (Go) Fixed in 1.3.4 Advisory →
- Fix · GHSA-m2cx-gpqf-qf74 github.com/tektoncd/pipeline (Go) Fixed in 1.6.2 Advisory →
- Fix · GHSA-m2cx-gpqf-qf74 github.com/tektoncd/pipeline (Go) Fixed in 1.9.3 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Builds for Red Hat OpenShift | Affected | No fix yet: Fix deferred |
| OpenShift Lightspeed | Affected | No fix yet: Fix deferred |
| OpenShift Pipelines | Affected | No fix yet: Fix deferred |
| OpenShift Serverless | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Virtualization 4 | Affected | No fix yet: Fix deferred |
| Red Hat Trusted Artifact Signer | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40924
- 2026-10-03 Alias added: GHSA-m2cx-gpqf-qf74
References
More backstage Tekton Pipelines vulnerabilities
- TI-2026-29590 Tekton Pipelines: Git Resolver Unsanitized Revision Parameter Enables git Argument Injection Leading to RCE CVSS 3.1HIGH 8.5
- TI-2023-18894 Pipelines do not validate child UIDs CVSS 3.1MEDIUM 4.3
- TI-2026-25632 Tekton Pipelines git resolver has path traversal that allows reading arbitrary files from the resolver pod CVSS 3.1CRITICAL 9.6
- TI-2026-28976 Tekton Pipelines: Git resolver API mode leaks system-configured API token to user-controlled serverURL CVSS 3.1HIGH 7.7
- TI-2026-25468 Tekton Pipelines: Controller can panic when setting long resolver names in TaskRun/PipelineRun CVSS 3.1MEDIUM 6.5
- TI-2026-20651 Tekton Pipelines: VerificationPolicy regex pattern bypass via substring matching CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-40924 · CVE Program
- CVE-2026-40924 · NVD
- FIRST EPSS
- GHSA-m2cx-gpqf-qf74 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-40924 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences