🇰🇷 한글 설명
WordPress의 Fancy Product Designer 플러그인 6.4.8 이하 버전에서 서버 측 요청 위조(SSRF) 취약점이 발견되었습니다. 'fpd_custom_uplod_file' AJAX 작업의 'url' 매개변수에서 발생하는 TOCTOU(Time-of-Check/Time-of-Use) 레이스 컨디션이 원인입니다. 공격자는 검증 단계와 실제 호출 단계 사이의 시간차를 이용해 내부 또는 외부의 임의 URL로 요청을 유도할 수 있습니다.
💡 쉬운 설명
이미지 파일인지 확인하는 과정과 실제로 파일을 가져오는 과정 사이에 아주 짧은 시간 차이가 발생하는 허점을 이용한 공격입니다. 공격자는 처음에는 정상적인 이미지를 보여주어 검사를 통과한 뒤, 아주 빠르게 가짜 주소로 바꿔치기하여 서버가 엉뚱한 곳에 접속하게 만듭니다.
🇺🇸 원문 (English)
The Fancy Product Designer plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 6.4.8. This is due to a time-of-check/time-of-use (TOCTOU) race condition in the 'url' parameter of the fpd_custom_uplod_file AJAX action. The plugin validates the URL by calling getimagesize() first, then later retrieves the same URL using file_get_contents(). This makes it possible for unauthenticated attackers to exploit the timing gap to perform SSRF attacks by serving a valid image during validation, then changing the response to redirect to arbitrary internal or external URLs during the actual fetch.
📍 영향받는 시스템
WordPress Fancy Product Designer plugin (버전 6.4.8 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 공격자가 AJAX 요청의 'url' 매개변수에 조작된 URL을 전달하여 서버 내부 네트워크로 요청을 보내는 방식
🛡️ 대응 방법
Fancy Product Designer 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 버전이 6.4.8 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --allow-root | grep -E 'fancy-product-designer'