---
id: "CVE-2026-118761"
kind: "vulnerability"
aliases: ["CVE-2026-118761"]
title: "Kubeflow Pipelines: crafted archive uploads exhaust API server memory"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["kubeflow-pipelines", "kubernetes", "machine-learning", "package"]
not_affected_if: ["upload-endpoint-not-reachable", "version-2.18.0-or-later"]
published_at: "2026-10-29T17:18:06+00:00"
first_seen_at: "2026-10-29T17:26:17+00:00"
updated_at: "2026-10-29T17:27:51+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-118761", "first_seen_at": "2026-10-29T17:26:17+00:00"}]
---

# Kubeflow Pipelines: crafted archive uploads exhaust API server memory

Kubeflow Pipelines before 2.18.0 decompresses uploaded pipeline ZIP or gzip-tar archives without bounding the expanded size, so a small archive can consume large amounts of memory. Multipart uploads decompress before namespace authorization, so a reachable caller can exhaust the API server without pipeline-create permission.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the Kubeflow Pipelines version deployed, for example the `ml-pipeline-api-server` image tag, and see whether it is below `2.18.0`.
- Check whether the API server's network path (ingress or service) is reachable by callers outside the trusted namespace.

## Fix

- Kubeflow Pipelines: move to `2.18.0`.

## Timeline

- 2026-10-29T17:26:17+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-118761

## From the sources

Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.18.0, the API server decompressed uploaded pipeline archives without adequately bounding expanded data while locating or reading the pipeline file. A small ZIP or gzip-compressed tar archive can consume disproportionately large memory and exhaust API-server resources. Multipart pipeline and pipeline-version upload processing performs decompression before namespace authorization, so a reachable caller does not need a successful pipeline-create authorization decision. URL-import handlers authorize before fetching and decompressing a remote archive. The amount of expansion required to interrupt service depends on deployment resource limits and concurrent activity, and no specific archive is guaranteed to crash every deployment. This issue is fixed in version 2.18.0.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
