🇰🇷 한글 설명
Jenkins 1.638 이전 버전의 CLI 서브시스템에서 commons-collections 라이브러리의 취약점을 악용한 원격 코드 실행이 가능합니다. ysoserial 도구를 이용한 악의적인 직렬화 Java 객체를 통해 공격자가 서버에서 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
Jenkins 서버가 인터넷에서 특수하게 제작된 메시지를 받으면, 공격자가 서버를 완전히 제어할 수 있습니다. 즉, 데이터 탈취, 시스템 파괴, 다른 시스템 공격 등 모든 악의적 행동이 가능합니다.
🇺🇸 원문 (English)
The Jenkins CLI subsystem in Jenkins before 1.638 and LTS before 1.625.2 allows remote attackers to execute arbitrary code via a crafted serialized Java object, related to a problematic webapps/ROOT/WEB-INF/lib/commons-collections-*.jar file and the "Groovy variant in 'ysoserial'".
📍 영향받는 시스템
Jenkins < 1.638, Jenkins LTS < 1.625.2 (commons-collections 라이브러리 포함)
⚔️ 공격 벡터
Jenkins CLI를 통해 직렬화된 Java 객체를 전송하여 역직렬화 과정에서 코드 실행
🛡️ 대응 방법
Jenkins를 1.638 이상 또는 LTS 1.625.2 이상으로 업그레이드하고 commons-collections 라이브러리 제거 또는 버전 업데이트
🔧 검증 코드
Jenkins 버전이 1.638 미만이면 취약함. 접근 불가 시 포트 8080에서 Jenkins가 실행 중인지 확인 필요
curl -s http://localhost:8080/api/json 2>/dev/null | grep -o '"version":"[^"]*"' || echo 'Jenkins not accessible'