{"id":"CVE-2026-118758","aliases":[],"cve":{"records":[{"id":"CVE-2026-118758","source":"GitHub_M","state":"PUBLISHED","reasons":[],"replacements":[],"disputed":false,"unsupportedWhenAssigned":false,"reserved":"2026-10-28T19:20:05.016Z","published":"2026-10-29T16:12:42.138Z","modified":"2026-10-29T20:18:30.607Z"}],"publishers":[{"name":"GitHub_M","role":"CNA","organizationId":"a0819718-46f1-4df5-94e2-005712e83aaa","modified":"2026-10-29T16:12:42.138Z"},{"name":"CISA-ADP","role":"ADP","organizationId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","modified":"2026-10-29T20:18:30.607Z"}],"references":[{"url":"https://github.com/kubeflow/pipelines/security/advisories/GHSA-2fg9-fx2f-439r","tags":["x_refsource_CONFIRM"],"source":"GitHub_M"},{"url":"https://github.com/kubeflow/pipelines/pull/13677","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/kubeflow/pipelines/commit/4d9bc5ab12b67efedb3923ef428a399cb445cf5f","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/kubeflow/pipelines/blob/2.18.0/docs/operator-guides/upgrade-2.18.md#custom-storage-configuration-and-rollout","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/kubeflow/pipelines/releases/tag/2.18.0","tags":["x_refsource_MISC"],"source":"GitHub_M"}],"weaknesses":[{"id":"CWE-22","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","source":"GitHub_M"}],"applicability":[],"prioritization":[{"source":"CISA-ADP","type":"SSVC","role":"CISA Coordinator","timestamp":"2026-10-29T20:18:21.704175Z","decisions":[{"name":"Exploitation","value":"none"},{"name":"Automatable","value":"yes"},{"name":"Technical Impact","value":"partial"}]}]},"title":"Kubeflow: Unauthenticated path traversal to arbitrary file read on ml-pipeline-ui via the volume artifact source","titleSource":"GitHub_M","descriptionSource":"GitHub_M","description":"Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.18.0, the volume artifact handler for GET /artifacts/get?source=volume did not confine a caller-supplied file path to the selected volume. A caller who can reach the route and identify an existing mounted volume can use path traversal to read files outside that volume when the artifact-serving process can read them. The frontend pod serves the request when artifact proxying is disabled, while the selected namespace's artifact-service pod serves it when proxying is enabled. A deployment with authentication disabled requires no application credentials; in multi-user deployments, the caller ordinarily must be authorized for the supplied namespace. This issue is fixed in version 2.18.0.","score":7.5,"severity":"high","published":"2026-10-29T16:12:42.138Z","modified":"2026-10-29T20:18:30.607Z","withdrawn":false,"knownExploited":false,"affected":[],"products":[{"vendor":"kubeflow","name":"pipelines","platforms":[],"versions":[{"version":"< 2.18.0","status":"affected"}],"cpes":[],"source":"GitHub_M","url":"https://www.cve.org/CVERecord?id=CVE-2026-118758"}],"remediation":[],"references":["https://github.com/kubeflow/pipelines/security/advisories/GHSA-2fg9-fx2f-439r","https://github.com/kubeflow/pipelines/pull/13677","https://github.com/kubeflow/pipelines/commit/4d9bc5ab12b67efedb3923ef428a399cb445cf5f","https://github.com/kubeflow/pipelines/blob/2.18.0/docs/operator-guides/upgrade-2.18.md#custom-storage-configuration-and-rollout","https://github.com/kubeflow/pipelines/releases/tag/2.18.0"],"sources":[{"name":"CVE","id":"CVE-2026-118758","modified":"2026-10-29T20:18:30.607Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-118758"}],"assessments":[{"source":"GitHub_M","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5}],"sourceAffected":[],"observedAt":"2026-10-29T21:08:03.114Z","kev":{"status":"not-listed","checkedAt":"2026-10-31T08:35:32.065Z"},"coverage":[{"source":"NVD","status":"available","checkedAt":"2026-10-30T02:25:31.056Z","attemptedAt":"2026-10-30T02:25:31.056Z"},{"source":"GHSA","status":"no-result","checkedAt":"2026-10-30T02:25:31.056Z","attemptedAt":"2026-10-30T02:25:31.056Z"},{"source":"EUVD","status":"available","checkedAt":"2026-10-30T02:25:31.056Z","attemptedAt":"2026-10-30T02:25:31.056Z"},{"source":"EPSS","status":"no-result","checkedAt":"2026-10-30T02:25:31.056Z","attemptedAt":"2026-10-30T02:25:31.056Z"}],"evidence":[{"source":"ENISA EUVD","id":"EUVD-2026-113214","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-113214","modified":"Oct 29, 2026, 8:18:30 PM","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","checkedAt":"2026-10-30T02:25:31.056Z"},{"source":"NVD","id":"CVE-2026-118758","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118758","modified":"2026-10-29T21:17:16.737","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","checkedAt":"2026-10-30T02:25:31.056Z"}],"aiSummary":{"text":"Kubeflow Pipelines versions prior to 2.18.0 have a path traversal weakness, allowing unauthenticated access to read files outside a selected volume via the ml-pipeline-ui. A caller must be able to reach the route and identify an existing mounted volume. The impact depends on the deployment's authentication settings.","model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","generatedAt":"2026-10-30T09:46:21.012Z","sources":[{"name":"CVE","url":"https://www.cve.org/CVERecord?id=CVE-2026-118758"}]}}