🇰🇷 한글 설명
PrestaShop의 ps_facetedsearch 모듈(3.0.0~4.0.4)에서 발생하는 취약점으로, URL의 슬라이더 필터 값을 검증 없이 캐시에 저장한 후 unserialize() 함수로 처리하는 과정에서 발생합니다. 공격자는 악의적인 직렬화된 객체를 주입하여 임의의 PHP 파일을 생성하고 웹쉘을 통해 서버 명령을 실행할 수 있습니다.
💡 쉬운 설명
쇼핑몰의 필터 기능을 악용하여 해커가 서버에 몰래 명령을 내릴 수 있는 파일을 심는 취약점입니다. 인증되지 않은 외부 사용자도 웹사이트를 통해 서버를 장악할 수 있어 매우 위험합니다.
🇺🇸 원문 (English)
PrestaShop ps_facetedsearch is a module that adds layered navigation filters. From 3.0.0 until 4.0.4, the ps_facetedsearch module rebuilds selected search filters from the request URL, and the value of a slider filter, price or weight, is taken from the URL without sufficient validation and stored in an internal filter-block cache where it is serialized and later read back with a raw native unserialize() in src/Filters/Block.php. By crafting that value, an unauthenticated attacker can smuggle a malicious serialized PHP object into the cache, and when it is deserialized, a gadget chain writes an arbitrary PHP file inside the modules/ps_facetedsearch/ directory, which is then used as a webshell to run commands on the server. This issue is fixed in version 4.0.4.
📍 영향받는 시스템
PrestaShop ps_facetedsearch module version 3.0.0 to 4.0.4
⚔️ 공격 벡터
조작된 URL 파라미터를 통한 악성 직렬화 객체 주입 및 PHP 객체 역직렬화(Insecure Deserialization)
🛡️ 대응 방법
ps_facetedsearch 모듈을 최신 버전인 4.0.4 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에서 ps_facetedsearch 모듈의 버전이 4.0.4 미만인지 확인하십시오.
grep -r "ps_facetedsearch" modules/ | grep -E 'version|4.0.4' || echo 'Module not found or version check failed'