🇰🇷 한글 설명
PHP 5.2.1의 unserialization 함수에서 S: 형식의 직렬화된 문자열 입력 시 바이트 수를 제대로 추적하지 않아 힙 메모리 영역의 임의 데이터를 읽을 수 있는 정보 공개 취약점입니다. 공격자가 조작된 직렬화 입력값을 제출하여 메모리에 있는 민감한 정보를 노출시킬 수 있습니다.
💡 쉬운 설명
PHP가 사용자의 데이터를 해석할 때 특정 형식의 입력을 잘못 처리하여 서버 메모리의 비밀정보를 읽어낼 수 있는 문제입니다. 공격자가 특수하게 만든 입력값을 보내면 프로그램이 의도치 않게 메모리 정보를 노출합니다.
🇺🇸 원문 (English)
PHP 5.2.1 allows context-dependent attackers to read portions of heap memory by executing certain scripts with a serialized data input string beginning with S:, which does not properly track the number of input bytes being processed.
📍 영향받는 시스템
PHP 5.2.0 ~ 5.2.1, PHP 확장 라이브러리의 직렬화 처리 부분
⚔️ 공격 벡터
HTTP POST/GET 파라미터, 쿠키, 세션 데이터 등 직렬화된 입력을 받는 모든 인터페이스를 통한 공격
🛡️ 대응 방법
PHP를 5.2.2 이상으로 긴급 업그레이드, unserialize() 함수 입력값 검증 강화, 신뢰할 수 없는 소스의 직렬화 데이터 처리 금지
🔧 검증 코드
VULNERABLE 출력 시 패치 필요, 출력 없으면 안전한 버전입니다
php -v 2>/dev/null | head -1 | grep -oE '[0-9]\.[0-9]\.[0-9]+' | awk -F. '{if($1==5&&$2==2&&$3<2)print"VULNERABLE"}'