🇰🇷 한글 설명
PHP 5.6.30 이전, 7.0.15 이전, 7.1.1 이전 버전의 var_unserializer.c의 object_common1 함수 버그로 인해 특별히 조작된 serialize 데이터가 finish_nested_data 호출 시 잘못 처리되면서 버퍼 오버리드가 발생합니다. 원격 공격자가 이를 악용하여 애플리케이션의 정보 유출, 서비스 거부 또는 원격 코드 실행을 야기할 수 있습니다.
💡 쉬운 설명
PHP의 데이터 복원 기능에 결함이 있어 악의적으로 조작된 데이터를 보내면 프로그램이 충돌합니다. 공격자가 네트워크를 통해 특별한 데이터를 보내 서버를 강제로 멈출 수 있습니다.
🇺🇸 원문 (English)
The object_common1 function in ext/standard/var_unserializer.c in PHP before 5.6.30, 7.0.x before 7.0.15, and 7.1.x before 7.1.1 allows remote attackers to cause a denial of service (buffer over-read and application crash) via crafted serialized data that is mishandled in a finish_nested_data call.
📍 영향받는 시스템
PHP 5.6.0~5.6.29, 7.0.0~7.0.14, 7.1.0 버전
⚔️ 공격 벡터
원격 공격자가 특별히 조작된 serialize 데이터를 PHP unserialize() 함수로 처리되는 입력 경로에 전송
🛡️ 대응 방법
PHP를 5.6.30, 7.0.15, 7.1.1 이상으로 즉시 업그레이드
🔧 검증 코드
명령어가 버전을 출력하면 패치됨, 출력 없으면 취약한 버전으로 업그레이드 필요
php -v | grep -E 'PHP (5\.6\.(3[0-9]|[4-9][0-9])|7\.(0\.(1[5-9]|[2-9][0-9])|[1-9]))'