🇰🇷 한글 설명
Windows의 PHP 5.x에서 COM(Component Object Model) 함수가 safe_mode 및 disable_functions 제한을 무시하는 보안 취약점입니다. 공격자가 ActiveX 컨트롤 실행, wscript.shell 호출, FileSystemObject 접근 등을 통해 의도된 제한을 우회할 수 있습니다.
💡 쉬운 설명
Windows에서 실행되는 PHP의 COM 기능이 보안 제한을 무시하고 강력한 시스템 권한에 접근할 수 있습니다. 공격자가 이를 악용하여 프로그램 실행, 파일 접근, 사용자 추가 등의 악의적 행위를 할 수 있습니다.
🇺🇸 원문 (English)
The Component Object Model (COM) functions in PHP 5.x on Windows do not follow safe_mode and disable_functions restrictions, which allows context-dependent attackers to bypass intended limitations, as demonstrated by executing objects with the kill bit set in the corresponding ActiveX control Compatibility Flags, executing programs via a function in compatUI.dll, invoking wscript.shell via wscript.exe, invoking Scripting.FileSystemObject via wshom.ocx, and adding users via a function in shgina.dll, related to the com_load_typelib function.
📍 영향받는 시스템
PHP 5.x on Windows (com_load_typelib 함수 포함)
⚔️ 공격 벡터
COM 객체 로드를 통해 ActiveX 컨트롤 실행, wscript.exe/wshom.ocx 호출, compatUI.dll 및 shgina.dll 함수 호출로 명령 실행 및 사용자 추가
🛡️ 대응 방법
PHP를 최신 버전으로 업그레이드하거나 php.ini에서 COM 확장(extension=php_com_dotnet.dll) 비활성화
🔧 검증 코드
COM 확장이 로드되어 있으면 결과에 COM/DCOM 정보가 표시되고, PHP 버전이 5.x이면 취약합니다. 버전이 5.3.x 이상이거나 COM이 비활성화되면 안전합니다.
php -i | grep -i 'com\|dcom' && php -v | head -1