뉴스 목록
BleepingComputer2026. 09. 25.

노출된 GitLab 프로젝트 이메일 주소, 공격자의 코드 푸시에 악용 가능

한 줄 요약

GitLab에는 이메일로 이슈나 작업을 프로젝트에 등록할 수 있는 "Email work item to this project" 기능이 있는데, 이 기능이 생성하는 개인 이메일 주소에는 계정 자격증명 역할을 하는 토큰이 포함되어 있습니다. 일부 개발자들이 버그 신고를 받기 위해 이 주소를 README나 공개 문서에 올려놓았고, 보안업체 Aikido가 이를 악용하면 공격자가 해당 사용자 권한으로 병합 요청(Merge Request)을 생성하거나 보호된 브랜치에 코드를 밀어 넣을 수 있다고 경고했습니다. GitLab은 이메일 발신자 주소를 검증하지 않아 인터넷 상의 누구나 토큰 소유자 명의로 요청을 보낼 수 있으며, IP 주소 제한도 우회됩니다. 인기 오픈소스 프로젝트도 영향을 받아 공급망(소프트웨어 공급망 보안) 위험이 제기된 상태이며, 노출된 토큰은 즉시 재설정해야 합니다.

사건

GitLab의 '프로젝트 이메일 등록' 기능이 발급하는 개인 이메일 주소(glimt- 토큰 포함)가 공개 README·컨트리뷰팅 가이드·지원 페이지에 노출됨. Aikido 연구진이 단 하루 만에 12개 이상의 실제 노출 주소를 발견.

영향

공격자가 해당 주소를 이용해 토큰 소유자 권한으로 병합 요청 생성, 보호 브랜치에 코드 푸시, CI/CD 변수 내 비밀정보 탈취, 비공개 저장소·소스코드 접근 가능. 인기 오픈소스 프로젝트도 포함돼 대규모 공급망 위험 존재.

원인

GitLab이 이메일 수신 시 발신자 주소와 토큰 소유자 이메일을 대조하지 않아 인터넷상 누구나 해당 주소로 요청 전송 가능. IP 주소 제한도 이 경로로 우회됨.

대응

GitLab은 최초 신고(HackerOne, 5월)를 '의도된 동작'으로 종결했으나, 6월 재신고 후 UI 업데이트·오해 소지 문서 수정·IP 제한 우회 사실 명기. 발신자 이메일 검증 도입을 검토 중. 노출된 토큰 즉시 재설정 권고.

실무 포인트

공개 문서(README 등)에 GitLab 개인 수신 이메일 주소를 절대 게재하지 말 것. 과거에 노출한 경우 해당 프로젝트의 토큰을 즉시 재설정하고, CI/CD 변수와 비공개 이슈도 점검할 것.

본문

개발자가 이슈나 작업을 프로젝트에 이메일로 등록할 수 있도록 생성된 GitLab의 비공개 이메일 주소가 버그 신고를 수집하기 위해 README, 컨트리뷰팅 가이드, 지원 페이지에 의도적으로 공개되고 있습니다.

이 주소들은 "Email work item to this project(이메일로 작업 항목 등록)"라는 GitLab 내장 기능의 일부이며, 개발자 계정에 연결된 장기 토큰을 포함합니다.

해당 주소는 자동으로 생성되며, 이메일을 통해 작업 항목을 생성하는 자격증명 역할을 하는 문자열을 포함합니다. 외부 클라이언트가 이 주소로 메시지를 보내면 GitLab이 이를 파싱해 프로젝트 이슈 또는 작업으로 등록합니다.

애플리케이션 보안 기업 Aikido의 연구진은 공개 문서에서 여러 개의 비공개 GitLab 주소가 노출된 사실을 발견하고, 이와 관련된 위험에 대해 경고하고 있습니다.

공격자는 이를 악용해 GitLab 계정을 침해한 뒤 비공개 저장소의 보호 브랜치에 코드를 푸시하거나, 소스 코드를 탈취하거나, CI/CD 변수에서 비밀정보를 수집하거나, 기밀 이슈에 접근할 수 있습니다.

각 비공개 GitLab 주소에는 프로젝트 접근을 위한 자격증명으로 기능하는 'glimt-' 문자열이 포함되어 있으며, 이 값은 해당 프로젝트에서 생성된 모든 유사 주소에 걸쳐 지속됩니다.

"이메일 주소의 '-issue' 접미사를 '-merge-request'로 바꾸면 GitLab이 병합 요청을 생성합니다"라고 Aikido는 설명합니다.

이메일 주소 변조

출처: Aikido

해당 주소를 알거나 획득한 공격자가 '-issue' 접미사를 'merge-request'로 변경하면 GitLab이 이를 수락해 해당 프로젝트에 병합 요청이 열립니다.

"발신자 주소가 토큰 소유자의 이메일과 일치하는지 검증하면 방어 계층이 추가되겠지만, GitLab은 이를 수행하지 않습니다(현재 도입을 검토 중이라고는 합니다)"라고 연구진은 말합니다.

"인터넷상의 어떤 메일함에서든 해당 주소로 메시지를 보낼 수 있으며, GitLab은 토큰 소유자가 보낸 것처럼 메시지를 처리합니다."

또한 Aikido의 테스트에 따르면 이 공격은 IP 주소 제한도 우회합니다.

이를 통해 얻을 수 있는 접근 수준은 해당 사용자의 계정 권한에 따라 달라지며, 코드 변경, CI/CD 실행, 비공개 저장소·비밀정보 접근 등이 가능할 수 있습니다.

연구진은 권한 제한(우회 불가)을 제외하면, 공격자가 대상 프로젝트의 경로와 ID도 알아야 한다고 언급합니다. 공개 프로젝트에서는 이 정보가 공개되어 있으며, 비공개 프로젝트에서는 ID를 무차별 대입(brute-force)으로 알아낼 수 있지만 경로는 별도로 유출되어야 합니다.

GitLab은 자체 문서에서 이 주소를 노출하면 발생하는 보안 문제에 대해 경고하며, 해당 주소는 비공개이며 "당신만을 위해 생성된 것"이라고 밝히고 있습니다.

"이 주소는 본인만 알고 계십시오. 이 주소를 아는 사람은 누구든 당신 명의로 이슈나 병합 요청을 생성할 수 있습니다. 비공개 이메일 주소가 유출된 것 같다면 즉시 토큰을 재설정하십시오"라고 GitLab은 경고합니다.

노출된 비공개 이메일 주소

하루 오후 만에 Aikido 연구진은 공개 README, 컨트리뷰팅 가이드, 지원 페이지에서 12개의 살아있는 GitLab 수신 이메일 주소를 발견했습니다.

연구진은 이 주소들이 유지관리자에게 버그 신고를 보내기 위해 의도적으로 공개 문서에 포함된 것이라고 설명합니다.

많은 경우 인기 오픈소스 프로젝트가 영향을 받아 대규모 사용자 기반에 대한 공급망 위험이 발생했습니다. "일부는 매우 인기 있는 오픈소스 프로젝트에 속해 있었습니다"라고 연구진은 말합니다.

Aikido는 5월에 HackerOne을 통해 이 문제를 GitLab에 신고했지만, GitLab은 이를 "의도된 동작"으로 종결했다고 밝혔습니다.

이후 6월에 추가 통보를 하자 GitLab은 UI를 업데이트해 병합 요청 관련 내용을 추가하고, 토큰 데이터 접근에 관한 잘못된 설명을 삭제하며, 수신 이메일이 IP 제한을 우회한다는 사실을 문서에 명기했습니다.

프로젝트 관리자는 공개 문서에 이 정보를 자발적으로 노출하는 행위를 중단하고, 과거에 노출한 프로젝트의 토큰을 즉시 재설정해야 합니다.

AI 기반 공격에 대비하는 보안 청사진 구축

Mikko Hyppönen과 NFL, CHANEL, Atlassian의 보안 리더들과 함께하는 2시간 온라인 서밋에 참여하세요. AI 속도의 공격이 무엇을 바꾸는지, 방어자가 그만둬야 할 것은 무엇인지, 그리고 머신 속도로 검증·결정·수정·재검증하는 방법을 다룹니다.

자리를 예약하세요

출처
BleepingComputer · bleepingcomputer.com
원문 보기

분야별 뉴스

관심 분야의 보안 이슈를 모아 보세요.

TORUN SECURITY

투런이 제공하는 보안 솔루션

공격 표면 관리부터 엔드포인트·내부정보 보호까지, 기업 환경에 맞는 보안 솔루션을 투런이 함께 설계합니다.