🇰🇷 한글 설명
PHP SPL 확장의 spl_array.c에서 unserialize 함수와 가비지 컬렉션 간의 부적절한 상호작용으로 인한 use-after-free 취약점입니다. 공격자가 특수하게 조작된 직렬화 데이터를 전송하여 원격에서 임의의 코드를 실행하거나 응용 프로그램을 충돌시킬 수 있습니다.
💡 쉬운 설명
PHP가 인터넷에서 받은 데이터를 처리할 때, 메모리 관리 오류로 인해 공격자가 악의적인 데이터를 보내 프로그램을 망가뜨리거나 시스템을 제어할 수 있습니다. PHP 5.5와 5.6의 특정 버전에서만 발생하는 문제입니다.
🇺🇸 원문 (English)
spl_array.c in the SPL extension in PHP before 5.5.37 and 5.6.x before 5.6.23 improperly interacts with the unserialize implementation and garbage collection, which allows remote attackers to execute arbitrary code or cause a denial of service (use-after-free and application crash) via crafted serialized data.
📍 영향받는 시스템
PHP 5.5.0~5.5.36, PHP 5.6.0~5.6.22 (SPL 확장 활성화된 경우)
⚔️ 공격 벡터
원격 공격자가 HTTP 요청이나 직렬화된 데이터가 처리되는 경로를 통해 조작된 페이로드 전송
🛡️ 대응 방법
PHP를 5.5.37, 5.6.23 이상으로 업그레이드하거나 PHP 재컴파일 시 SPL 확장 제거
🔧 검증 코드
Vulnerable이 출력되면 취약한 버전입니다. 정확한 버전 확인 후 5.5.37 이상, 5.6.23 이상으로 업그레이드 필요합니다.
php -v | grep -E '5\.[56]\.(3[0-6]|[0-9]|[0-2][0-9])' && echo 'Vulnerable' || echo 'Check version'