Alpine Linux GitLab 취약점 공격 피해 공개
원제: GitLab Security Incident: Attempted Exploitation of CVE-2026-97229
왜 중요한가
공급망 보안 측면에서 패키지 저장소를 운영하는 오픈소스 프로젝트가 CVSS 10.0 취약점에 노출된 사례로, 유사 인프라 운영자에게 경각심을 준다.
Alpine Linux는 2026년 10월 20~21일 GitLab 인스턴스에서 CVSS 10.0 최고 등급 취약점 CVE-2026-97229를 악용한 공격 시도가 발생했다고 10월 28일 공식 발표했다. 공격자는 신규 계정으로 악성 CI 설정을 전송해 GitLab 워커 프로세스를 8회 충돌시켰으며, 4회는 익스플로잇이 일부 진행됐다.
CVE-2026-97229는 GitLab이 CI 설정에서 정규표현식을 평가하는 방식의 취약점으로, 근본 원인은 Ruby 내장 정규표현식 엔진 Onigmo의 버그다. GitLab은 10월 12일 수정 릴리스를 공개했지만, 패치는 GitLab 공식 패키지에 번들된 Ruby에만 적용됐다. 업스트림 Ruby는 10월 23일에야 Ruby 3.3.13, 3.4.12, 4.0.9에서 수정판을 배포했다.
Alpine Linux 팀은 10월 13일 GitLab을 수정판인 19.3.5 대신 19.3.4로 잘못 업그레이드해 취약 상태를 유지했다. 공격자는 10월 20일 계정을 등록해 탐색을 시작하고, 21일 본격 공격을 감행했다. Alpine Linux의 alpinelinux/gitlab 컨테이너 이미지는 표준 Ruby를 사용하므로 GitLab 업그레이드만으로는 패치가 적용되지 않았다.
조사 결과 aports 저장소, 패키지, 10월 21일 릴리스는 외부 기록과 대조해 변조 사실이 없음을 확인했다. 그러나 서버에서 코드 실행이 없었다고 단정할 수 없어, Alpine Linux 팀은 인스턴스를 완전히 손상된 것으로 간주하고 처음부터 재구축했다. 모든 비밀번호와 GitLab 비밀 키를 초기화했으며, GitLab이 재개방되면 '비밀번호 찾기'로 재설정해야 한다.
alpinelinux/gitlab 컨테이너 이미지를 사용하는 경우, 10월 27일 이후 배포된 19.3.6 이미지를 다시 pull해야 한다. 그 이전에 받은 이미지는 모두 취약하다. GitLab을 소스나 자체 컨테이너로 운영하는 경우 GitLab 업그레이드 외에 Ruby 버전도 별도 갱신해야 한다.