🇰🇷 한글 설명
MISP의 웹 및 콘솔 진입점에서 PHP의 phar 스트림 래퍼가 등록되어 있어 보안 취약점이 발생합니다. 공격자가 파일 경로를 조작할 수 있다면 phar 아카이브를 통해 역직렬화(unserialize)를 유발하거나 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
프로그램이 사용하지 않는 불필요한 기능이 켜져 있어, 해커가 특수하게 조작된 파일을 통해 서버를 마음대로 조종할 수 있는 통로가 열려 있는 상태입니다. 이를 통해 해커는 서버에 악성 코드를 심거나 실행할 수 있습니다.
🇺🇸 원문 (English)
MISP ships with PHP's phar stream wrapper registered in both its web entry point and its console entry point.
The phar stream wrapper causes PHP to treat a phar archive as a directory, which has two security consequences:
- any filesystem operation on a caller-influenced path that resolves to a phar archive triggers an implicit unserialize() call, creating a deserialization sink;
- a relocated application root can reach executable code inside an uploaded phar file, enabling arbitrary code execution as the web user.
No component of MISP, the vendored CakePHP framework, or any runtime-loaded library reads or constructs phar archives. The wrapper therefore serves no legitimate purpose in the MISP runtime and exists solely as an available primitive for an attacker who can influence a filesystem path argument.
📍 영향받는 시스템
MISP (Malware Information Sharing Platform) 설치 환경
⚔️ 공격 벡터
사용자가 제어 가능한 파일 경로 인자를 통해 phar 아카이브를 호출하여 역직렬화 또는 임의 코드 실행 유도
🛡️ 대응 방법
PHP 설정에서 phar 스트림 래퍼 사용을 제한하거나 MISP 코드 내에서 불필요한 래퍼 등록을 제거해야 합니다.
🔧 검증 코드
명령어 결과에 'phar'가 포함되어 있다면 해당 스트림 래퍼가 활성화되어 있는 상태입니다.
php -r 'var_dump(stream_get_wrappers());' | grep 'phar'