🇰🇷 한글 설명
PHP의 var_unserializer.re 파일의 finish_nested_data 함수에서 신뢰할 수 없는 데이터를 역직렬화할 때 버퍼 오버리드 취약점이 발생합니다. 이를 통해 PHP 실행 무결성이 손상될 수 있습니다.
💡 쉬운 설명
PHP에서 데이터를 역직렬화(decode)할 때 메모리 경계를 초과하여 읽을 수 있는 결함입니다. 악의적인 직렬화 데이터를 통해 프로그램 오류나 데이터 손상을 유발할 수 있습니다.
🇺🇸 원문 (English)
The finish_nested_data function in ext/standard/var_unserializer.re in PHP before 5.6.31, 7.0.x before 7.0.21, and 7.1.x before 7.1.7 is prone to a buffer over-read while unserializing untrusted data. Exploitation of this issue can have an unspecified impact on the integrity of PHP.
📍 영향받는 시스템
PHP 5.6.31 이전, PHP 7.0.x (7.0.21 이전), PHP 7.1.x (7.1.7 이전)
⚔️ 공격 벡터
unserialize() 함수로 신뢰할 수 없는 입력 데이터(사용자 입력, 네트워크 패킷)를 처리하는 경우 악의적 직렬화 객체 전송
🛡️ 대응 방법
PHP를 5.6.31, 7.0.21, 7.1.7 이상으로 즉시 업그레이드 또는 unserialize() 함수 사용 금지
🔧 검증 코드
PHP 버전이 5.6.31 이상, 7.0.21 이상, 또는 7.1.7 이상이면 패치됨, 그 이하면 취약함
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'