🔍 CVE-2025-61916

7.9
CVSS Score
HIGH
2026-01-05
2026-10-14 19:10
✅ 완료

🇰🇷 한글 설명

Spinnaker는 오픈 소스, 멀티 클라우드 연속 배포 플랫폼입니다. 버전 2025.1.6, 2025.2.3, 2025.3.0 이전 버전은 서버 측 요청 위조 취약점에 노출되어 있습니다. 이 취약점은 사용자가 원격 URL에서 데이터를 가져올 수 있도록 허용하는 것을 주요한 영향으로 합니다. 이 데이터는 헬름 또는 기타 방법을 통해 Spinnaker 파이프라인에 주입되어 인증 데이터를 추출하는 데 사용될 수 있습니다.

💡 쉬운 설명

Spinnaker 플랫폼의 취약점으로 인해 사용자는 원격 URL에서 데이터를 가져올 수 있으며, 이 데이터를 통해 인증 정보를 추출할 수 있습니다. 이는 사용자 입력이 허용되는 아티팩트가 활성화된 경우에 발생하며, 시스템이 이러한 아티팩트의 출력을 소비할 수 있어야 합니다.

🇺🇸 원문 (English)

Spinnaker is an open source, multi-cloud continuous delivery platform. Versions prior to 2025.1.6, 2025.2.3, and 2025.3.0 are vulnerable to server-side request forgery. The primary impact is allowing users to fetch data from a remote URL. This data can be then injected into spinnaker pipelines via helm or other methods to extract things LIKE idmsv1 authentication data. This also includes calling internal spinnaker API's via a get and similar endpoints. Further, depending upon the artifact in question, auth data may be exposed to arbitrary endpoints (e.g. GitHub auth headers) leading to credentials exposure. To trigger this, a spinnaker installation MUST have two things. The first is an artifact enabled that allows user input. This includes GitHub file artifacts, BitBucket, GitLab, HTTP artifacts and similar artifact providers. JUST enabling the http artifact provider will add a "no-auth" http provider that could be used to extract link local data (e.g. AWS Metadata information). The second is a system that can consume the output of these artifacts. e.g. Rosco helm can use this to fetch values data. K8s account manifests if the API returns JSON can be used to inject that data into the pipeline itself though the pipeline would fail. This vulnerability is fixed in versions 2025.1.6, 2025.2.3, and 2025.3.0. As a workaround, disable HTTP account types that allow user input of a given URL. This is probably not feasible in most cases. Git, Docker and other artifact account types with explicit URL configurations bypass this limitation and should be safe as they limit artifact URL loading. Alternatively, use one of the various vendors which provide OPA policies to restrict pipelines from accessing or saving a pipeline with invalid URLs.

📍 영향받는 시스템

Spinnaker 버전 2025.1.6, 2025.2.3, 2025.3.0 이전 버전

⚔️ 공격 벡터

사용자 입력이 허용되는 아티팩트를 활성화하고, 시스템이 이러한 아티팩트의 출력을 소비할 수 있는 경우

🛡️ 대응 방법

취약한 버전을 버전 2025.1.6, 2025.2.3, 2025.3.0 이상으로 업그레이드하거나, 사용자 입력이 허용되는 HTTP 계정 유형을 비활성화하고, OPA 정책을 사용하여 파이프라인에서无效 URL에 대한 액세스를 제한합니다.

🔧 검증 코드

로컬 시스템의 취약점 여부를 점검하려면, Python requests 라이브러리를 사용하여 Spinnaker의 아티팩트 엔드포인트에 액세스할 수 있는지 확인합니다. 이 코드는 Spinnaker URL을 your-spinnaker-url.com으로 대체하여 실행해야 합니다. 코드 실행 결과는 JSON 형식으로 출력됩니다.

Shell / Script
import requests
response = requests.get('https://your-spinnaker-url.com/api/v1/artifacts')
if response.status_code == 200:
    print({"result": "취약", "reason": "아티팩트 엔드포인트에 대한 액세스가 허용됨"})
else:
    print({"result": "양호", "reason": "아티팩트 엔드포인트에 대한 액세스가 거부됨"})

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Docker