GitLab CVE-2026-97229 (CVSS 10.0) went into CISA KEV on Oct 29, due Nov 1. If your GitLab runs on a system Ruby, the GitLab upgrade alone does not fix it
GitLab 자체 Ruby를 쓰지 않는 설치는 런타임도 업데이트해야 합니다
GitLab은 CVE-2026-97229 수정판을 배포했지만, 자체 Ruby를 쓰는 설치 환경에서는 GitLab 업그레이드 뒤에도 취약점이 남을 수 있습니다. Alpine Linux는 GitLab을 19.3.6으로 올린 뒤에도 이미지에 포함된 표준 Ruby에 수정이 없어 취약 상태가 이어졌다고 보고했습니다. Ruby 프로젝트는 관련 수정이 포함된 버전으로 3.3.13, 3.4.12, 4.0.9 이상을 권고합니다.
- 주제
본문
GitLab은 CI/CD 설정의 정규식을 처리하는 과정에서 서버의 임의 코드 실행으로 이어질 수 있는 취약점 CVE-2026-97229를 수정해 2026년 10월 12일 패치판을 배포했습니다. 다만 소스 설치나 자체 컨테이너처럼 GitLab 공식 패키지 대신 별도의 Ruby를 쓰는 환경에서는 GitLab을 올린 뒤에도 정규식 엔진 Onigmo의 취약점이 남을 수 있습니다.
GitLab은 특정 조건에서 인증되지 않은 사용자가 특수 제작한 정규식으로 서버에서 코드를 실행할 수 있다고 밝혔으며 CVSS 점수는 10.0입니다. 영향받는 버전은 19.2.8 이전 19.2 계열, 19.3.5 이전 19.3 계열, 19.4.2 이전 19.4 계열입니다. GitLab은 공식 패키지와 컨테이너 이미지에 포함된 Ruby를 수정했으며 GitLab.com과 GitLab Dedicated에도 패치를 적용했다고 밝혔습니다. 별도 Ruby를 쓰는 설치는 애플리케이션 업데이트와 런타임 업데이트가 각각 필요합니다.
Alpine Linux 사례는 두 업데이트가 별개인 이유를 보여줍니다. Alpine은 10월 20~21일 공격자가 CI 설정을 보내 워커 프로세스를 여덟 차례 충돌시켰다고 보고했습니다. 공격은 당시 취약한 GitLab 19.3.4에서 시작됐습니다. Alpine이 10월 22일 GitLab 19.3.6으로 올린 뒤에도 자체 이미지의 표준 Ruby에는 수정이 없어 취약점이 남았습니다. 네 차례는 공격이 일부 단계까지 진행됐지만 다음 단계에서 실패했습니다. Alpine은 서버에서 공격자 코드가 실행된 증거를 찾지 못했으며 실행 가능성을 배제할 수 없어 인스턴스를 새로 구축했습니다.
Ruby 프로젝트는 관련 정규식 엔진 수정이 포함된 권고 버전으로 Ruby 3.3.13, 3.4.12, 4.0.9 이상을 제시했습니다. 공식 수정 내역에서 CVE-2026-97229에 해당하는 정수 오버플로 수정은 Ruby 4.0 계열 4.0.8부터 포함되지만, 4.0.9에는 다른 정규식 문제의 수정도 함께 들어 있습니다. 따라서 자체 Ruby를 사용하는 구성의 패치 상태는 GitLab 버전과 실제 실행 중인 Ruby 버전, 배포판 패키지에 반영된 수정 사항에 따라 달라집니다.
자료: GitLab / Alpine Linux / Ruby / 정리·해설: Trawling
참고 자료
- GitLab security incident: attempted exploitation of CVE-2026-97229 | Alpine Linux — https://www.alpinelinux.org/posts/GitLab-security-incident-CVE-2026-97229.html
- GitLab Critical Patch Release: 19.4.2, 19.3.5, 19.2.8 | GitLab Docs — https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/
- Regexp compilation fixes related to GitLab's CVE-2026-89078, CVE-2026-93577, CVE-2026-97229 and CVE-2026-110264 | Ruby — https://www.ruby-lang.org/en/news/2026/10/23/regexp-fixes-for-gitlab-cves/