🇰🇷 한글 설명
PHP 7의 객체 역직렬화 과정에서 'properties' 해시 테이블 리사이징 시 메모리 해제 후 사용(use-after-free) 취약점이 발생합니다. 원격 공격자가 악의적인 직렬화된 객체를 전송하여 임의 코드 실행을 달성할 수 있습니다.
💡 쉬운 설명
PHP가 저장된 객체 데이터를 복구할 때 메모리 실수로 이미 삭제된 데이터에 접근하는 문제입니다. 공격자가 특수한 데이터를 보내면 서버에서 자신의 코드를 실행할 수 있습니다.
🇺🇸 원문 (English)
In all versions of PHP 7, during the unserialization process, resizing the 'properties' hash table of a serialized object may lead to use-after-free. A remote attacker may exploit this bug to gain arbitrary code execution.
📍 영향받는 시스템
PHP 7.x 모든 버전 (PHP 7.0.0 ~ 7.0.8, 7.1.0 등)
⚔️ 공격 벡터
역직렬화 함수(unserialize())로 공격자가 조작한 객체 데이터 처리 시 exploit 발생
🛡️ 대응 방법
PHP를 7.0.9 이상으로 업데이트하거나 unserialize()에 허용된 클래스만 받도록 제한(options 파라미터 사용)
🔧 검증 코드
PHP 버전이 7.0.9 미만이면 'vulnerable', 7.0.9 이상이면 'patched' 출력됨
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+' | awk '{if ($2 < "7.0.9") print "vulnerable"; else print "patched"}'