🔍 CVE-2017-9227

9.8
CVSS Score
CRITICAL
2017-05-24
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

Oniguruma 정규식 엔진의 mbc_enc_len() 함수에서 스택 오버플로우 취약점 발생. reg->dmin 잘못된 처리로 인한 유효하지 않은 포인터 역참조 및 스택 버퍼 밖의 메모리 읽기.

💡 쉬운 설명

정규식 검색 중 메모리 경계를 넘어서 데이터를 읽으려고 시도할 때 발생합니다. 이로 인해 프로그램 충돌이나 민감한 정보 노출이 가능합니다.

🇺🇸 원문 (English)

An issue was discovered in Oniguruma 6.2.0, as used in Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP through 7.1.5. A stack out-of-bounds read occurs in mbc_enc_len() during regular expression searching. Invalid handling of reg->dmin in forward_search_range() could result in an invalid pointer dereference, as an out-of-bounds read from a stack buffer.

📍 영향받는 시스템

Ruby 2.4.1 이하 (Oniguruma-mod 포함), PHP 7.1.5 이하 (mbstring 확장)

⚔️ 공격 벡터

특수하게 제작된 정규식 패턴을 입력으로 제공하여 mbc_enc_len() 함수의 메모리 접근 위반 트리거

🛡️ 대응 방법

Ruby를 2.4.2 이상, PHP를 7.1.6 이상으로 업그레이드하거나 Oniguruma 라이브러리를 6.3.0 이상으로 패치

🔧 검증 코드

Ruby와 PHP의 major.minor.patch 버전을 확인하여 취약 범위(Ruby 2.0-2.4, PHP 7.1.0-7.1.5)에 있으면 'Vulnerable' 메시지 출력, 패치된 버전이면 'OK' 메시지 출력

Shell / Script
ruby -v | awk '{print $2}' | grep -qE '^2\.[0-4]\.' && echo 'Vulnerable: Update Ruby' || echo 'Ruby version OK'; php -v | head -1 | grep -qE '7\.1\.[0-5]' && echo 'Vulnerable: Update PHP' || echo 'PHP version OK'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

PHP