🇰🇷 한글 설명
PHP의 WDDX 확장에서 wddx_deserialize 함수가 잘못된 ISO 8601 시간값을 처리할 때 세그멘테이션 폴트를 유발하는 취약점입니다. 악의적인 XML 문서를 통해 원격에서 서비스 거부 또는 임의 코드 실행이 가능합니다.
💡 쉬운 설명
PHP에서 시간값 형식을 확인하지 않아서 악의적인 데이터를 받으면 프로그램이 중단됩니다. 공격자가 특별한 XML 문서를 서버로 보내면 웹사이트가 다운될 수 있습니다.
🇺🇸 원문 (English)
The php_wddx_process_data function in ext/wddx/wddx.c in PHP before 5.6.25 and 7.x before 7.0.10 allows remote attackers to cause a denial of service (segmentation fault) or possibly have unspecified other impact via an invalid ISO 8601 time value, as demonstrated by a wddx_deserialize call that mishandles a dateTime element in a wddxPacket XML document.
📍 영향받는 시스템
PHP 5.6.25 이전 및 PHP 7.0.10 이전 버전
⚔️ 공격 벡터
잘못된 ISO 8601 시간값이 포함된 wddxPacket XML 문서를 원격으로 전송하여 wddx_deserialize 함수 처리
🛡️ 대응 방법
PHP를 5.6.25 또는 7.0.10 이상으로 즉시 업그레이드하거나 WDDX 확장 비활성화
🔧 검증 코드
PHP 버전이 5.6.24 이하 또는 7.0.9 이하이면 Vulnerable으로 표시됩니다. 위 버전 이상이면 안전합니다.
php -v | grep -oE '(5\.[0-6]\.[0-9]+|7\.0\.[0-9])' && echo 'Vulnerable' || echo 'Check version'