🇰🇷 한글 설명
PHP 4.4.3 이전 및 5.1.3 이전 버전의 zend_hash_del_key_or_index 함수 버그로 인해 unset() 함수가 의도한 변수를 제대로 해제하지 못합니다. 이로 인해 삭제되어야 할 변수가 메모리에 유지되어 보안 관련 작업에서 예상치 못한 값이 사용될 수 있습니다.
💡 쉬운 설명
PHP에서 더 이상 필요 없는 변수를 삭제(unset)하려고 할 때 실수로 다른 변수를 삭제하는 버그가 발생합니다. 그러면 삭제되어야 할 민감한 정보가 메모리에 남아 있어 악용될 수 있습니다.
🇺🇸 원문 (English)
zend_hash_del_key_or_index in zend_hash.c in PHP before 4.4.3 and 5.x before 5.1.3 can cause zend_hash_del to delete the wrong element, which prevents a variable from being unset even when the PHP unset function is called, which might cause the variable's value to be used in security-relevant operations.
📍 영향받는 시스템
PHP 4.x (4.4.3 이전), PHP 5.x (5.1.3 이전)
⚔️ 공격 벡터
PHP 애플리케이션 내 변수 해제 메커니즘을 악용하여 민감한 정보(인증 토큰, 세션 데이터 등)를 메모리에 유지시켜 접근 가능하게 함
🛡️ 대응 방법
PHP를 4.4.3 이상 또는 5.1.3 이상으로 업그레이드하세요
🔧 검증 코드
출력된 PHP 버전이 4.4.3 미만 또는 5.0.x-5.1.2 범위면 취약함
php -v 2>/dev/null | head -1