🔍 CVE-2026-118759

7.5
CVSS Score
HIGH
2026-10-29
2026-10-30 18:17
✅ 완료

🇰🇷 한글 설명

Kubeflow Pipelines의 API 서버 GET /apis/v1alpha1/runs/{run_id}/nodes/{node_id}/log 핸들러가 호출자의 해당 run 접근 권한을 확인하지 않아, 실행 ID와 노드(pod) 식별자를 알면 API 서버 권한으로 실시간 또는 보관된 로그를 열람할 수 있습니다. 실시간 로그의 경우 노드 ID가 pod 이름으로 사용되며 해당 pod이 요청한 run에 속하는지 검증하지 않아 다른 pod의 로그도 읽을 수 있습니다. 2.18.0 버전에서 수정되었습니다.

💡 쉬운 설명

Kubeflow Pipelines에서 다른 사용자의 작업 로그를 권한 확인 없이 볼 수 있는 취약점입니다. 로그에는 민감한 데이터나 자격 증명이 포함될 수 있어 주의가 필요합니다.

🇺🇸 원문 (English)

Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.18.0, the API server's GET /apis/v1alpha1/runs/{run_id}/nodes/{node_id}/log handler retrieved logs without authorizing the caller against the selected run. A caller who can reach the backend and knows a victim run ID and suitable pod or node identifier can read live or archived logs with the API server's permissions. For live logs, the caller-controlled node ID was also accepted as a pod name without verifying that the pod belonged to the requested run, allowing a known run ID to select the namespace of an unrelated pod and read its main container logs. The handler does not authenticate requests itself, although an external authentication gate or network policy can limit reachability. Exposed logs can contain sensitive workload data or credentials. This issue is fixed in version 2.18.0.

📍 영향받는 시스템

Kubeflow Pipelines 2.18.0 미만 버전

⚔️ 공격 벡터

백엔드 API 서버에 접근 가능한 공격자가 피해자의 run ID와 노드/pod 식별자를 알고 로그 API를 직접 호출하여 로그를 열람

🛡️ 대응 방법

Kubeflow Pipelines를 2.18.0 이상으로 업그레이드하고, API 서버에 대한 네트워크 접근을 신뢰된 클라이언트로 제한

🔧 검증 코드

출력된 이미지 태그를 확인하여 kubeflow pipelines 버전이 2.18.0 미만이면 취약하며, 이상이면 수정된 버전입니다.

Shell / Script
kubectl get deployment -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.spec.template.spec.containers[*].image}{"\n"}{end}' 2>/dev/null | grep -i 'kubeflow.*pipeline\|ml-pipeline'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

💻 영향받는 소프트웨어

Log Server