🇰🇷 한글 설명
PHP의 sysvshm 확장에서 __sleep 매직 메서드를 악용하여 shm_put_var 함수 호출을 중단시킬 수 있습니다. 이를 통해 공격자는 해제된 메모리(use-after-free)에 접근하여 임의의 메모리 주소에 데이터를 쓸 수 있습니다. 메모리 손상으로 인한 원격 코드 실행이 가능합니다.
💡 쉬운 설명
PHP의 공유 메모리 기능에 보안 결함이 있어서 공격자가 특별한 코드를 작성하여 메모리를 손상시킬 수 있습니다. 이를 통해 공격자가 서버를 완전히 제어하고 악의적 코드를 실행할 수 있게 됩니다.
🇺🇸 원문 (English)
The sysvshm extension for PHP 5.2 through 5.2.13 and 5.3 through 5.3.2 allows context-dependent attackers to write to arbitrary memory addresses by using an object's __sleep function to interrupt an internal call to the shm_put_var function, which triggers access of a freed resource.
📍 영향받는 시스템
PHP 5.2.0 ~ 5.2.13, PHP 5.3.0 ~ 5.3.2의 sysvshm 확장
⚔️ 공격 벡터
__sleep 매직 메서드로 shm_put_var 함수를 중단시켜 freed memory(해제된 메모리)에 대한 접근 및 쓰기 권한 획득
🛡️ 대응 방법
PHP를 5.2.14 이상 또는 5.3.3 이상으로 즉시 업그레이드하거나 필요 없으면 sysvshm 확장을 비활성화
🔧 검증 코드
출력된 PHP 버전이 5.2.14 이상 또는 5.3.3 이상이면 패치됨, 5.2.13 이하 또는 5.3.2 이하면 취약
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'