🇰🇷 한글 설명
Jenkins의 Role-based Authorization Strategy Plugin에서 API 요청을 POST 방식으로 강제하지 않아 CSRF 취약점이 발생했습니다. 공격자는 이를 악용하여 임의의 사용자에게 관리자 역할을 부여하거나 인증 설정을 제거할 수 있었습니다.
💡 쉬운 설명
Jenkins 권한 관리 시스템이 웹 요청을 제대로 검증하지 않아 공격자가 사용자 권한을 불법으로 변경할 수 있습니다. 사용자가 악의적인 웹사이트를 방문하면 Jenkins 설정이 자동으로 변경될 수 있습니다.
🇺🇸 원문 (English)
Role-based Authorization Strategy Plugin was not requiring requests to its API be sent via POST, thereby opening itself to Cross-Site Request Forgery attacks. This allowed attackers to add administrator role to any user, or to remove the authorization configuration, preventing legitimate access to Jenkins.
📍 영향받는 시스템
Jenkins Role-based Authorization Strategy Plugin 1.7.0 이전 버전
⚔️ 공격 벡터
CSRF를 통해 인증된 사용자의 Jenkins 세션을 악용하여 관리자 권한을 추가하거나 인증 정책을 제거
🛡️ 대응 방법
Role-based Authorization Strategy Plugin을 1.7.0 이상으로 업그레이드하여 API 요청을 POST 방식으로만 처리하도록 수정
🔧 검증 코드
플러그인 버전이 1.7.0 이상이면 안전하고, 1.7.0 미만이거나 'Plugin not found'가 표시되면 취약하거나 설치되지 않은 상태입니다.
curl -s http://localhost:8080/pluginManager/api/json 2>/dev/null | grep -oP '"shortName":"role-based-authorization-strategy"[^}]*"version":"\K[^"]+' || echo 'Plugin not found'