Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SECURITY-218 — 인증되지 않은 원격 코드 실행 취약점 SECURITY-218 및 SECURITY-360을 완화하기 위해 Jenkins CLI/Remoting 하위 시스템을 비활성화하며, 런타임 시 또는 init 스크립트를 통해 적용됩니다. | Kitploit
도구/GitHubGitHub/jenkinsci-cert/security-218
Defensive ToolsVulnerability AnalysisScripting & AutomationConfiguration AuditingIncident ResponseArchived
GitHubjenkinsci-cert/security-218

SECURITY-218

인증되지 않은 원격 코드 실행 취약점 SECURITY-218 및 SECURITY-360을 완화하기 위해 Jenkins CLI/Remoting 하위 시스템을 비활성화하며, 런타임 시 또는 init 스크립트를 통해 적용됩니다.

저장소 보기
20589년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

이 완화 조치는 Jenkins 2.54 및 Jenkins LTS 2.46.2부터 더 이상 사용되지 않습니다. Jenkins 2.54+/LTS 2.46.2+ 버전을 새로 설치한 경우, Remoting 기반 CLI는 기본적으로 비활성화되어 있습니다. 이전 버전의 Jenkins를 설치한 후 2.54+ 또는 LTS 2.46.2+로 업그레이드한 경우, 관리 모니터가 Configure Global Security로 이동하여 Remoting 기반 CLI를 비활성화하라는 메시지를 표시합니다. 어느 경우든 아래의 해결 방법은 필요하지 않습니다.

또는 Jenkins 2.32+ 또는 2.19.3+를 사용 중이지만 (2016년 11월 16일 보안 권고에 언급된 바와 같이) 2.54보다 오래된 버전이라면 시작 스위치 -Djenkins.CLI.disabled=true를 간단히 사용할 수 있습니다.

CLI를 통한 인증되지 않은 원격 코드 실행 완화

참고: 이 스크립트는 원래 2015년 11월에 SECURITY-218 제로데이 취약점을 수정하기 위해 게시되었습니다. 2016년 11월에 공개된 SECURITY-360 제로데이 취약점에 대한 해결 방법으로도 적용할 수 있습니다.

이 스크립트는 Jenkins의 CLI 하위 시스템을 종료하여 알려진 취약점으로부터 Jenkins를 보호하는 데 사용할 수 있습니다.

Groovy 스크립트 콘솔(/script)에서 실행하면 재시작 없이 실행 중인 Jenkins의 CLI 하위 시스템을 종료합니다.

$JENKINS_HOME/init.groovy.d/cli-shutdown.groovy에 배치하면 마스터 재시작 후에도 보호가 유지됩니다.

완화 조치가 성공적으로 적용되었는지 확인하려면 cli.jar로 java -jar cli.jar -s $JENKINS_URL을 실행하고 다음과 같은 EOFException이 발생하는지 확인하십시오:

root@kitploit:~
java.io.EOFException
	at java.io.DataInputStream.readFully(DataInputStream.java:197)
	at java.io.DataInputStream.readUTF(DataInputStream.java:609)
	at java.io.DataInputStream.readUTF(DataInputStream.java:564)
	at hudson.cli.CLI.connectViaCliPort(CLI.java:232)
	at hudson.cli.CLI.<init>(CLI.java:128)
	at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
	at hudson.cli.CLI._main(CLI.java:479)
	at hudson.cli.CLI.main(CLI.java:390)
	Suppressed: java.io.IOException: https://ci.jenkins-ci.org/cli doesn't look like Jenkins
		at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:81)
		at hudson.cli.CLI.connectViaHttp(CLI.java:158)
		at hudson.cli.CLI.<init>(CLI.java:132)
		... 3 more

FAQ

이 스크립트의 출력은 어떻게 해석하나요?

별다른 의미가 없습니다. 따라서 출력은 무시하십시오. 완화 조치가 적용되었는지 확인하는 방법은 위를 참조하십시오. 안전을 위해 Jenkins를 재시작한 경우에도 확인 절차를 다시 수행하십시오.

REST API에 영향을 미치나요?

아니요.

이 스크립트는 어떤 취약점을 수정하기 위한 것인가요?

원래 이 스크립트는 2015년 11월 SECURITY-218 제로데이 원격 코드 실행 취약점에 대한 해결 방법으로 개발되었습니다. 수정 사항이 포함된 릴리스는 2015년 11월 11일에 게시되었습니다.

2016년 11월 11일, 또 다른 제로데이 원격 코드 실행 취약점(SECURITY-360)이 유사한 기법을 사용했으며, 이 해결 방법은 여기서도 효과적이었습니다.

도구 다운로드