---
title: Ruby 정규식 엔진 오류로 인한 GitLab 보안 취약점 발견
url: https://www.dataloco.com/ko/ruby-gitlab
published: 2026-11-02T01:23:14+00:00
language: ko
section: 보안
source: https://www.heise.de/news/Ruby-behebt-drei-kritische-Luecken-vor-denen-CVE-Scanner-nicht-warnen-11505663.html?wt_mc=rss.red.ho.ho.atom.beitrag.beitrag
organizations: GitLab, Ruby
publisher: Dataloco
---

# Ruby 정규식 엔진 오류로 인한 GitLab 보안 취약점 발견

Ruby 팀이 Onigmo 정규식 엔진의 오류 세 가지를 해결하기 위해 버전 4.0.9, 3.4.12, 3.3.13을 출시했습니다. 이 오류들은 영향을 받는 서버에서 악성 코드가 실행될 수 있는 경로를 제공합니다.

최근 몇 주 동안 Ruby 기반의 GitLab에서 발견된 취약점들이 대표적인 사례입니다. 외부 입력값을 통해 정규식을 생성하는 모든 Ruby 애플리케이션이 위험에 노출되어 있습니다. Ruby 팀에 따르면, 직접 작성한 패턴만 사용하는 경우에는 문제가 되지 않습니다. 오류는 텍스트와 패턴을 대조하는 단계가 아니라, 패턴을 내부 프로그램으로 변환하는 컴파일 단계에서 발생합니다.

GitLab은 CI/CD 설정과 같이 사용자 입력값으로부터 정규식을 컴파일하기 때문에 이 문제의 영향을 받았습니다. 보안 연구원 Johan Carlsson은 버그 바운티 프로그램을 통해 네 가지 취약점을 보고했습니다. CVE-2026-89078와 CVE-2026-93577는 CVSS 점수 9.9를 기록했으며, CVE-2026-97229와 CVE-2026-110264는 최고점인 10.0을 기록했습니다. 특히 후자의 두 취약점은 로그인 없이도 악용이 가능합니다. GitLab은 9월 23일에서 10월 21일 사이에 포함된 Ruby를 직접 패치하여 이를 해결했으며, 이번 업데이트는 2014년 출시된 7.0 버전 이후의 모든 GitLab 버전에 적용됩니다.

Ruby 팀은 네 가지 CVE를 세 가지 오류로 분류했습니다. CVE-2026-89078는 패턴을 읽을 때 발생하는 이중 메모리 해제 오류입니다. CVE-2026-93577와 CVE-2026-97229는 컴파일된 프로그램의 크기를 계산할 때 발생하는 정수 오버플로이며, CVE-2026-110264는 반복 횟수가 매우 많은 패턴에서 발생하는 내부 카운터 오버플로입니다.

이러한 수정 사항들은 모두 새로운 것이 아닙니다. 이중 메모리 해제 오류는 2025년 5월 개발 브랜치에서 수정되어 Ruby 4.0.0 릴리스 버전에 포함되었습니다. 내부 카운터 오류 수정은 2026년 4월에, 프로그램 크기 관련 수정은 2026년 9월에 이루어졌습니다. 프로그램 크기 수정은 10월 22일 Ruby 4.0.8의 정기 업데이트에 보안 언급 없이 포함되었고, 다음 날 4.0.9 버전에서 마지막 수정 사항이 반영되었습니다. 안정화 브랜치인 3.4와 3.3은 세 가지 수정 사항을 모두 적용받았습니다. 특히 Ruby 3.3은 보안 수정만 제공하는 단계임에도 불구하고 GitLab의 CVE 할당으로 인해 예외적으로 3.3.13 버전이 출시되었습니다. Ruby 3.2 및 이전 버전은 더 이상 업데이트되지 않습니다.

공격자가 성공적으로 코드를 실행할 경우 Ruby 프로세스의 권한으로 데이터베이스, 환경 변수의 비밀 정보, 파일 시스템에 접근할 수 있습니다. 다만 단일 시도 시에는 프로세스가 충돌하여 로그인 없는 서비스 거부 공격으로 이어질 가능성이 더 높습니다. 현재까지 GitLab과 Ruby 모두 실제 공격 사례는 보고하지 않았습니다.

Ruby 팀은 외부 입력 패턴을 컴파일하는 행위 자체를 안전하지 않은 것으로 간주해 왔으며, 이에 따라 Ruby 프로젝트는 이번 건에 대해 별도의 CVE 식별자를 신청하지 않았습니다. 이들은 취약점이 인터프리터가 아닌 애플리케이션에 있다고 보는 관점을 가지고 있으며, 향후 이 사용 사례의 지원 여부를 명확히 한 뒤 CVE 부여 여부를 결정할 계획입니다.

## This story in other languages

- [English](https://www.dataloco.com/en/ruby-fixes-three-critical-flaws-linked-to-gitlab-vulnerabilities)
