🇰🇷 한글 설명
PHP의 SOAP 확장 모듈이 캐시 디렉토리와 베이스 디렉토리 설정 간의 관계를 검증하지 않아, 공격자가 WSDL 캐시 파일을 임의의 위치에 저장하여 open_basedir 접근 제한을 우회할 수 있는 취약점입니다.
💡 쉬운 설명
웹 서버의 접근 제한을 무시하고 특정 폴더에 파일을 저장할 수 있습니다. PHP의 SOAP 기능에서 캐시 설정이 보안 정책을 제대로 확인하지 않는 문제입니다.
🇺🇸 원문 (English)
ext/soap/soap.c in PHP before 5.3.22 and 5.4.x before 5.4.13 does not validate the relationship between the soap.wsdl_cache_dir directive and the open_basedir directive, which allows remote attackers to bypass intended access restrictions by triggering the creation of cached SOAP WSDL files in an arbitrary directory.
📍 영향받는 시스템
PHP 5.3.22 이전, PHP 5.4.0~5.4.12
⚔️ 공격 벡터
SOAP 기능을 사용하는 웹 애플리케이션에 악의적인 WSDL 요청을 보내 제한된 디렉토리 외의 위치에 캐시 파일 생성
🛡️ 대응 방법
PHP를 5.3.22 이상 또는 5.4.13 이상으로 업그레이드
🔧 검증 코드
출력된 PHP 버전이 5.3.22 미만 또는 5.4.0~5.4.12 범위에 있으면 취약함
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'