← Back to CVE Explorer

CVE-2026-40924

Full vulnerability record from the local CVENow database.

Description

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.

Severity
MEDIUM
CVSS score
6.5 (v3.1)
Vulnerability status
Modified
Source identifier
Published
2026-04-21 21:16:45.720000
Last modified
2026-10-26 22:10:00.163000
View original CVE JSON
{
  "id": "CVE-2026-40924",
  "sourceIdentifier": "[email protected]",
  "published": "2026-04-21T21:16:45.720",
  "lastModified": "2026-10-26T22:10:00.163",
  "vulnStatus": "Modified",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    },
    {
      "lang": "es",
      "value": "El proyecto Tekton Pipelines proporciona recursos estilo k8s para declarar pipelines estilo CI/CD. A partir de la versión 1.0.0 y antes de las versiones 1.0.2, 1.3.4, 1.6.2, 1.9.3 y 1.11.1, la función FetchHttpResource del resolvedor HTTP llama a io.ReadAll(resp.Body) sin límite de tamaño del cuerpo de la respuesta. Cualquier inquilino con permiso para crear TaskRuns o PipelineRuns que hagan referencia al resolvedor HTTP puede apuntarlo a un servidor HTTP controlado por un atacante que devuelva un cuerpo de respuesta muy grande dentro de la ventana de tiempo de espera de 1 minuto, lo que provoca que el pod tekton-pipelines-resolvers sea eliminado por OOM por Kubernetes. Debido a que todos los tipos de resolvedores (Git, Hub, Bundle, Cluster, HTTP) se ejecutan en el mismo pod, el fallo de este pod deniega el servicio de resolución a todo el clúster. La explotación repetida provoca un bucle de fallos sostenido. La misma ruta de código vulnerable es alcanzada tanto por la implementación obsoleta pkg/resolution/resolver/http como por la actual pkg/remoteresolution/resolver/http. Las versiones 1.0.2, 1.3.4, 1.6.2, 1.9.3 y 1.11.1 solucionan el problema."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "tektoncd",
          "product": "pipeline",
          "versions": [
            {
              "version": ">= 1.0.0, < 1.0.2",
              "status": "affected"
            },
            {
              "version": ">= 1.2.0, < 1.3.4",
              "status": "affected"
            },
            {
              "version": ">= 1.4.0, < 1.6.2",
              "status": "affected"
            },
            {
              "version": ">= 1.7.0, < 1.9.3",
              "status": "affected"
            },
            {
              "version": ">= 1.10.0, < 1.11.1",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 6.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-04-22T13:21:18.942819Z",
          "id": "CVE-2026-40924",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-400"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:linuxfoundation:tekton_pipelines:*:*:*:*:*:go:*:*",
              "versionEndExcluding": "1.11.1",
              "matchCriteriaId": "CC2C0633-AA1A-4CB5-8FA4-CD63381DCE11"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/tektoncd/pipeline/releases/tag/v1.11.1",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/tektoncd/pipeline/security/advisories/GHSA-m2cx-gpqf-qf74",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/tektoncd/pipeline/security/advisories/GHSA-m2cx-gpqf-qf74",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}