🇰🇷 한글 설명
Stapler의 특정 버전에서 동적으로 생성된 JavaScript 리소스에 사용자의 CSRF 토큰(crumb)이 문자열 리터럴로 포함되는 취약점이 발견되었습니다. 이를 통해 동일 사이트 내의 페이지를 제어할 수 있는 공격자는 대상 사용자의 유효한 토큰을 탈취하여 사용자 권한으로 임의의 작업을 수행할 수 있습니다.
💡 쉬운 설명
웹사이트의 보안 인증 번호가 소스 코드에 그대로 노출되는 문제입니다. 해커가 이 번호를 훔치면 사용자인 척하며 중요한 설정을 바꾸거나 명령을 내릴 수 있습니다.
🇺🇸 원문 (English)
In Stapler 1839.ved17667b_a_eb_5 through 2107.v8dfcb_e8ed317 (both inclusive), except 2088.2093.vd7c3e58008a_6, included in Jenkins 2.447 through 2.579 (both inclusive), LTS 2.452.1 through 2.568.2 (both inclusive), an HTTP endpoint serving dynamically generated JavaScript resources embeds the user's cross-site request forgery (CSRF) token (crumb) as a string literal, allowing attackers with control over a page hosted on the same site as Jenkins to obtain a valid crumb for the targeted user's session and perform actions on their behalf.
📍 영향받는 시스템
Jenkins 2.447 ~ 2.579, LTS 2.452.1 ~ 2.568.2 (Stapler 1839.ved17667b_a_eb5 ~ 2107.v8dfcb_e8ed317 포함)
⚔️ 공격 벡터
동일 사이트 내 제어 가능한 페이지를 통한 CSRF 토큰(crumb) 탈취 및 세션 하이재킹
🛡️ 대응 방법
취약점이 해결된 최신 버전의 Jenkins 및 Stapler로 업데이트 수행
🔧 검증 코드
출력된 Jenkins 버전이 취약 범위(2.447-2.579 또는 LTS 2.452.1-2.568.2)에 포함되는지 확인
jenkins --version 2>/dev/null || wget -qO- http://<JENKINS_URL>/jelly/api/json | grep -E 'version'