🔍 CVE-2017-1000106

8.5
CVSS Score
HIGH
2017-10-05
2026-06-17 00:58
✅ 완료

🇰🇷 한글 설명

Jenkins Blue Ocean의 SCM content REST API가 사용자 인증을 확인하지 않아, GitHub organization folder에 대한 읽기 권한이 있는 사용자가 폴더 생성자의 GitHub credentials를 이용해 저장소에 임의 커밋을 생성하고 파일 내용을 읽을 수 있는 취약점입니다. 이는 GitHub organization 내 모든 저장소의 무단 접근 및 조작을 가능하게 합니다.

💡 쉬운 설명

Jenkins의 Blue Ocean 기능이 GitHub 권한을 제대로 확인하지 않아서, 조직 저장소에 접근 가능한 사람들이 관리자 권한으로 파일을 수정하고 읽을 수 있습니다. GitHub 계정이 이용되는 모든 저장소가 위험에 노출됩니다.

🇺🇸 원문 (English)

Blue Ocean allows the creation of GitHub organization folders that are set up to scan a GitHub organization for repositories and branches containing a Jenkinsfile, and create corresponding pipelines in Jenkins. Its SCM content REST API supports the pipeline creation and editing feature in Blue Ocean. The SCM content REST API did not check the current user's authentication or credentials. If the GitHub organization folder was created via Blue Ocean, it retained a reference to its creator's GitHub credentials. This allowed users with read access to the GitHub organization folder to create arbitrary commits in the repositories inside the GitHub organization corresponding to the GitHub organization folder with the GitHub credentials of the creator of the organization folder. Additionally, users with read access to the GitHub organization folder could read arbitrary file contents from the repositories inside the GitHub organization corresponding to the GitHub organization folder if the branch contained a Jenkinsfile (which could be created using the other part of this vulnerability), and they could provide the organization folder name, repository name, branch name, and file name.

📍 영향받는 시스템

Jenkins Blue Ocean (모든 초기 버전, 2017년 이전 배포 버전)

⚔️ 공격 벡터

GitHub organization folder에 읽기 접근 권한을 가진 사용자가 SCM content REST API를 호출하여 creator의 GitHub credentials로 커밋 생성 및 임의 파일 읽기 수행

🛡️ 대응 방법

Jenkins를 최신 버전으로 업그레이드하고 Blue Ocean 인증 검증 패치 적용, GitHub credentials를 안전하게 관리하는 별도 통제 메커니즘 도입

🔧 검증 코드

설치된 Jenkins 패키지 버전을 확인합니다. 2017-12 이후 보안 패치가 적용된 최신 버전인지 확인하면 취약점 해결 여부를 판단할 수 있습니다.

Shell / Script
dpkg -l 2>/dev/null | grep jenkins || rpm -qa 2>/dev/null | grep jenkins || echo 'Jenkins not installed'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git