🇰🇷 한글 설명
PHP 4.4.2와 5.1.2의 array_fill() 함수에서 매우 큰 num 파라미터값을 전달할 때 과도한 메모리 할당으로 인한 서비스 거부(DoS) 취약점입니다. 악의적 공격자가 제어 가능한 입력값으로 이 함수를 호출하면 서버 메모리를 소진시킬 수 있습니다.
💡 쉬운 설명
PHP의 array_fill 함수에 너무 큰 숫자를 입력하면 컴퓨터의 메모리를 과도하게 사용하게 되어 서버가 동작 불능 상태가 됩니다. 악의적인 사람이 이를 악용하면 웹사이트를 접속 불가능하게 만들 수 있습니다.
🇺🇸 원문 (English)
The array_fill function in ext/standard/array.c in PHP 4.4.2 and 5.1.2 allows context-dependent attackers to cause a denial of service (memory consumption) via a large num value.
📍 영향받는 시스템
PHP 4.4.2, PHP 5.1.2 (기타 영향받는 버전 존재 가능)
⚔️ 공격 벡터
웹 애플리케이션이 사용자 입력을 검증 없이 array_fill() 함수의 num 파라미터로 전달할 때 악의적인 큰 값 입력으로 공격
🛡️ 대응 방법
PHP를 최신 패치 버전(4.4.4 이상 또는 5.1.4 이상)으로 업그레이드하고, 사용자 입력값을 검증하여 array_fill의 num 파라미터에 합리적인 상한을 설정
🔧 검증 코드
PHP 버전이 4.4.3 이상이거나 5.1.3 이상이면 패치됨. 4.4.2 또는 5.1.2라면 긴급 업그레이드 필요.
php -v 2>/dev/null | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'