2024-07-21 19:30 (일)
Gogs Git 서비스의 심각한 보안 취약점 발견돼
상태바
Gogs Git 서비스의 심각한 보안 취약점 발견돼
  • 길민권 기자
  • 승인 2024.07.08 18:54
이 기사를 공유합니다

소나소스(SonarSource) 연구원은 Gogs의 오픈 소스, 자체 호스팅 Git 서비스에서 네 가지 주요 보안 취약점을 발견했다고 발표했다. 이 취약점들은 인증된 공격자가 Gogs 인스턴스를 침해하고, 소스 코드를 훔치거나 삭제하며, 백도어를 심는 것을 가능하게 할 수 있다.

주요 취약점 상세 정보는 다음과 같다. 

1. CVE-2024-39930 (CVSS 점수: 9.9): 이 취약점은 내장된 SSH 서버에서 인수 주입(argument injection)을 허용한다. 성공적인 공격을 위해서는 SSH 서버가 활성화되어 있어야 하며, 공격자는 유효한 SSH 개인 키를 소지해야 한다. 이 취약점은 Gogs 서버에서 임의 명령어 실행을 가능하게 한다.
2. CVE-2024-39931 (CVSS 점수: 9.9): 이 문제는 내부 파일 삭제를 허용하여 데이터 무결성과 가용성에 심각한 위험을 초래할 수 있다.
3. CVE-2024-39932 (CVSS 점수: 9.9): 변경 미리 보기 동안 인수 주입을 포함하며, 이는 잠재적인 임의 명령어 실행을 초래할 수 있다.
4. CVE-2024-39933 (CVSS 점수: 7.7): 새로운 릴리스를 태그할 때 인수 주입을 허용하며, 이를 통해 공격자는 소스 코드 및 구성 비밀과 같은 임의 파일을 읽을 수 있다.

이러한 취약점을 악용하면 소스코드를 읽고, 수정하고, 삭제할 수 있으며, 다른 사용자를 가장하여 권한을 상승시킬 수 있다. 그러나 이러한 취약점의 악용은 인증을 필요로 한다.

CVE-2024-39930을 악용하려면 내장된 SSH 서버가 활성화되어 있어야 하며, 공격자는 유효한 SSH 키를 소지해야 한다. 인스턴스가 사용자 등록을 허용하는 경우, 공격자는 계정을 생성하고 SSH 키를 등록할 수 있다. 그렇지 않은 경우, 다른 계정을 침해하거나 사용자의 SSH 키를 도용해야 한다. 윈도우 또는 도커를 사용하는 Gogs 인스턴스는 취약하지 않지만, Debian 및 Ubuntu를 사용하는 인스턴스는 `env` 바이너리가 `--split-string` 옵션을 지원하기 때문에 취약하다.

Gogs 유지보수 팀이 2023년 4월에 초기 보고를 받았음에도 불구하고 패치를 제공하지 않았기 때문에 사용자는 다음과 같은 조치를 취해야 한다:
-내장된 SSH 서버 비활성화: 인수 주입 공격을 방지하기 위해 SSH 서버를 비활성화하는 것이 좋다.
-사용자 등록 비활성화: 대규모 악용 위험을 줄이기 위해 새로운 사용자 계정 등록을 비활성화해야 한다.
-Gitea로 전환 고려: Gogs의 포크로 시작된 Gitea는 더 활발하게 유지보수되고 있으며, Gogs에서 발견된 취약점이 이미 수정되어 있다.

SonarSource는 패치를 제공했지만, 이는 광범위하게 테스트되지 않았다. 사용자는 수동으로 패치를 적용하거나 소스에서 패치된 버전을 빌드할 수 있다.

이번 공개는 아쿠아  시큐리티(Aqua Security)의 최근 발견에 이어, Git 기반 SCM 시스템에서 액세스 토큰 및 비밀번호와 같은 민감한 정보가 제거된 후에도 계속 노출될 수 있다는 점을 강조했다. 이러한 문제는 '팬텀 시크릿'으로 불리며, 캐시된 뷰 또는 특정 git 명령을 통해 접근할 수 있어 코드 관리에서 철저한 보안 관행이 필요함을 시사한다.

국내 Gogs 사용자는 이러한 심각한 취약점에 대한 즉각적인 조치를 취해야 하며, 공식 패치를 기다리는 동안 Gitea와 같은 더 안전한 대안으로의 전환을 고려해야 한다.

■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★