🇰🇷 한글 설명
PHPOffice PHPPresentation 1.2.0 이하 버전에서 발생하는 불안전한 역직렬화 취약점입니다. 공격자가 조작된 프레젠테이션 파일을 업로드하면 IOFactory::load 함수가 unserialize()를 호출하여 임의의 PHP 객체를 생성할 수 있으며, 이를 통해 코드 실행, 파일 쓰기 또는 서비스 거부(DoS)가 가능합니다.
💡 쉬운 설명
악성 코드가 담긴 프레젠테이션 파일을 업로드하면 서버가 이를 읽는 과정에서 해커의 명령을 실행할 수 있는 보안 결함입니다. 이로 인해 서버의 파일이 변조되거나 시스템이 마비될 위험이 있습니다.
🇺🇸 원문 (English)
PHPOffice PHPPresentation through 1.2.0 contains an insecure deserialization vulnerability that allows attackers to instantiate arbitrary PHP objects by supplying a crafted presentation file. Attackers can upload a ZIP containing PhpPresentation.xml that IOFactory::load passes to unserialize(), enabling gadget-chain code execution, file writes, or denial of service.
📍 영향받는 시스템
PHPOffice PHPPresentation 1.2.0 및 그 이하 모든 버전
⚔️ 공격 벡터
조작된 PhpPresentation.xml 파일이 포함된 ZIP 파일을 업로드하여 서버의 unserialize() 함수를 트리거함
🛡️ 대응 방법
PHPPresentation 라이브러리를 최신 보안 패치가 적용된 버전으로 업데이트하거나, 사용자 입력 파일에 대한 검증 로직을 강화함
🔧 검증 코드
출력된 버전 정보가 1.2.0 이하인지 확인하여 취약 여부를 판단함
composer show phpoffice/phppresentation 2>/dev/null | grep -E 'versions'