[해외보안뉴스] Ruby, 깃랩 RCE 취약점의 원인인 정규표현식 엔진 결함 3종 패치
프로그래밍 언어 Ruby가 내장 정규표현식 엔진인 Onigmo에서 발견된 3개의 보안 결함을 해결하기 위해 보안 업데이트를 발표했습니다. 이번에 조치된 결함들은 최근 깃랩(GitLab)에서 패치했던 4개의 심각한 원격 코드 실행(RCE) 취약점의 근본적인 원인인 것으로 확인되었습니다.
분석에 따르면, 공격자가 악의적으로 조작한 정규표현식 패턴을 입력할 경우 Ruby가 이를 컴파일하는 과정에서 메모리 손상(Memory Corruption)이 발생합니다. 이로 인해 공격자는 GitLab을 비롯해 영향을 받는 Ruby 기반 애플리케이션 서버에서 임의의 코드를 실행하여 시스템 제어권을 확보할 수 있게 됩니다.
Ruby 개발팀은 정규표현식 컴파일 시 발생하는 메모리 오염 문제를 보완한 최신 패치를 배포했습니다. 해당 엔진을 기반으로 동작하는 서비스 및 GitLab 인스턴스 관리자는 잠재적인 RCE 공격을 예방하기 위해 사용 중인 환경을 즉시 최신 버전으로 업데이트해야 합니다.
♥ 추천 0
정규식 실행(Execution)뿐만 아니라 패턴 컴파일(Compilation) 단계의 메모리 오염이 RCE로 이어질 수 있음을 보여주는 대표적인 사례입니다. C 기반 네이티브 엔진(Onigmo)의 메모리 안전성 결함이 상위 언어인 Ruby와 이를 사용하는 GitLab 아키텍처 전체의 보안 위협으로 확산되었습니다. 사용자 입력을 바탕으로 정규식을 동적 생성하는 코드 작성을 지양하고, C-extension 라이브러리가 포함된 언어 런타임 패치를 신속히 적용해야 합니다.
보통 정규표현식 취약점은 ReDoS(서비스 거부)에 그치는 경우가 많지만, 이번 Onigmo 엔진의 컴파일 단계 메모리 오염은 곧바로 RCE로 연결된다는 점에서 공격 가치가 매우 높습니다. GitLab처럼 사용자 입력을 바탕으로 정규식을 동적으로 처리하는 루비 애플리케이션은 힙 오염을 통한 서버 점령 공격에 직접적으로 노출될 수 있습니다. 침투 테스트 관점에서는 사용자 지정 정규식 패턴이나 동적 필터링을 허용하는 루비 기반 웹 엔드포인트를 최우선 공격 벡터로 식별하고 악용 가능성을 검증해야 합니다.
개발 언어 엔진의 결함이 주요 플랫폼의 RCE 취약점으로 이어진 전형적인 오픈소스 공급망 리스크 사례입니다. 이처럼 기초 라이브러리 레벨의 허점은 조직의 개발 및 데브옵스 인프라 전체로 위협이 전이될 수 있으므로, 철저한 종속성(Dependency) 관리와 자산 식별이 선행되어야 합니다. 사내 GitLab을 포함한 Ruby 기반 시스템에 대한 패치 우선순위를 최상위로 격상하고 긴급 패치 SLA를 즉시 적용하겠습니다.