🔍 CVE-2017-9225

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

🇰🇷 한글 설명

Oniguruma 정규표현식 엔진의 유니코드 처리 함수에서 특정 코드 포인트(0xFFFFFFFF) 검증이 누락되어 스택 버퍼 오버플로우 발생. Ruby와 PHP의 정규표현식 라이브러리가 영향을 받으며, 악의적인 정규표현식 컴파일 시 4바이트를 스택 메모리 범위를 벗어나서 쓸 수 있다.

💡 쉬운 설명

문자 패턴 처리 소프트웨어의 메모리 오류로, 특수한 문자 패턴을 입력할 때 메모리 범위를 벗어나서 데이터를 쓸 수 있습니다. 이를 통해 시스템을 완전히 조종하거나 정보를 유출할 수 있습니다.

🇺🇸 원문 (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 write in onigenc_unicode_get_case_fold_codes_by_str() occurs during regular expression compilation. Code point 0xFFFFFFFF is not properly handled in unicode_unfold_key(). A malformed regular expression could result in 4 bytes being written off the end of a stack buffer of expand_case_fold_string() during the call to onigenc_unicode_get_case_fold_codes_by_str(), a typical stack buffer overflow.

📍 영향받는 시스템

Ruby 2.4.1 이하, PHP 7.1.5 이하 (Oniguruma 6.2.0 포함된 버전)

⚔️ 공격 벡터

네트워크를 통해 악의적인 정규표현식 패턴을 포함한 입력을 전달하여 원격 코드 실행 가능

🛡️ 대응 방법

Ruby를 2.4.2 이상, PHP를 7.1.6 이상으로 업그레이드 또는 Oniguruma를 6.3.0 이상으로 업데이트

🔧 검증 코드

Ruby 버전이 2.4.1 이하이거나 PHP 버전이 7.1.5 이하이면 취약하며, 즉시 업그레이드 필요

Shell / Script
ruby -v 2>/dev/null; php -v 2>/dev/null | head -1

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP