🇰🇷 한글 설명
PHP 5.6.26 이전 버전의 var_unserializer.re에서 객체 역직렬화 실패를 잘못 처리하여, unserialize() 함수 호출 시 부분적으로 구성된 객체를 참조할 때 메모리 손상이 발생하거나 다른 악의적 영향을 초래할 수 있습니다. 이는 리모트 공격자가 서비스 거부 또는 임의 코드 실행을 시도하는 데 악용될 수 있습니다.
💡 쉬운 설명
PHP에서 데이터를 역직렬화할 때 오류 처리가 불완전해서, 특정 입력값이 메모리를 손상시킬 수 있습니다. 이를 이용하면 서버가 먹통이 되거나 공격자 코드가 실행될 수 있습니다.
🇺🇸 원문 (English)
ext/standard/var_unserializer.re in PHP before 5.6.26 mishandles object-deserialization failures, which allows remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via an unserialize call that references a partially constructed object.
📍 영향받는 시스템
PHP 5.6.25 이하, 5.5.x, 5.4.x 및 이전 버전
⚔️ 공격 벡터
원격 공격자가 조작된 unserialize() 입력값을 전송하여 메모리 손상 또는 코드 실행
🛡️ 대응 방법
PHP를 5.6.26 이상으로 업데이트하거나, 신뢰할 수 없는 데이터를 unserialize()에 전달하지 않기
🔧 검증 코드
PHP 버전이 5.6.26 이상이면 안전, 그 이하이면 취약함
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'