Wins Security Information

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2019-11229] Gitea RCE
작성일 2021-01-15 조회 73

Gitea: Self-Hosted GitHub Alternative | Bypeople

 

 

Gitea에 RCE(Remote Code Execution) 취약점이 존재합니다.

 

Gitea는 Go로 작성된 자체 호스팅 Git 서비스입니다. 버그 추적, 위키 및 코드 검토와 같은 협업 기능뿐만 아니라 Git을 사용하여 소프트웨어 개발 버전 제어를 호스팅하기 위한 오픈 소스 소프트웨어 패키지입니다.

 

해당 취약점은 부적절한 Mirror repo URL 설정으로 인해 발생합니다. 원격의 공격자는 악의적으로 조작된 요청을 전송하여 공격할 수 있습니다.

 

공격 성공 시, 임의의 코드가 실행될 수 있습니다.

 

 

 

취약점 설명

 

NVD - CVE-2019-11229

CVSS v2.0 Severity and Metrics:

Base Score: 7.5 HIGH

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

해당 취약점은 /models/repo_mirror.go에서 리포지토리 URL 설정을 잘못 처리하여 발생합니다.

 

리포지토리가 mirror 리포지토리인 경우, URL을 전달할 때 "%0d%0a"로 전달되므로 이를 변경할 수 있게 됩니다.

 

이를 통해 mirror 리포지토리 URL을 전달하는 매개 변수인 mirror_address를 사용해 임의의 코드가 실행될 수 있습니다.

 

취약한 매개변수 mirror_address의 형식은 아래와 같습니다.

 

mirror_address={URL}"""%0d%0a[core]%0d%0asshCommand={명령어}%0d%0aa="""

 

취약한 버전 및 패치 사항은 아래와 같습니다.

 

 - Gitea 1.7.5 and prior      -> Gitea 1.7.6

 - Gitea 1.8.0 rc1 - rc2       -> Gitea 1.8.0 rc3

 

 

 

[그림2. /models/repo_mirror.go 수정 사항]

 

 

 

공격 분석 및 테스트

 

CVE-2019-11229의 공격 패킷은 다음과 같습니다.

 

 

[그림3. 취약한 부분]

 

 

[그림4. PoC 코드 일부]

 

 

 

취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 최신의 버전으로 업데이트한다.

 

https://github.com/go-gitea/gitea/releases/tag/v1.7.6

https://github.com/go-gitea/gitea/releases/tag/v1.8.0-rc3

 

 

2. WINS Sniper 제품군 대응 방안

 

[5335] Gitea mirror_address RCE

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2019-11229  Gitea  RCE