🇰🇷 한글 설명
affiliate-toolkit WordPress 플러그인 3.9.2 이하 버전의 upload_image 함수에서 파일 타입 검증이 불충분하여 임의 파일 업로드 취약점이 존재합니다. 기여자(Contributor) 이상 권한을 가진 인증된 공격자가 실행 가능한 파일을 업로드할 수 있으며, 이로 인해 원격 코드 실행(RCE)이 가능합니다. 이 취약점은 플러그인 설정에서 'import product image' 옵션이 활성화된 경우에만 악용됩니다.
💡 쉬운 설명
이 플러그인은 제품 이미지를 외부에서 가져오는 기능이 있는데, 파일 종류를 제대로 검사하지 않습니다. 권한이 있는 사용자가 악성 파일을 올려 서버를 장악할 수 있습니다.
🇺🇸 원문 (English)
The affiliate-toolkit – Multi-Network Affiliate & Amazon Product Display plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 3.9.2 via the upload_image function. This is due to insufficient file type validation in upload_image due to a weak Content-Type prefix check and extension derivation from the attacker-controlled URL path, with no dangerous-extension stripping. This makes it possible for authenticated attackers, with contributor-level access and above, to upload files that may be executable, which makes remote code execution possible. Exploitation requires the "import product image" option to be enabled in the plugin settings, as this activates the image download pipeline triggered on product post save.
📍 영향받는 시스템
affiliate-toolkit WordPress 플러그인 3.9.2 이하 버전 (import product image 옵션 활성화 시)
⚔️ 공격 벡터
기여자 이상 권한의 인증된 사용자가 제품 이미지 URL 경로를 조작해 실행 가능한 파일을 업로드하고 실행
🛡️ 대응 방법
플러그인을 3.9.3 이상 버전으로 업데이트하거나, 취약 버전이 설치된 경우 해당 플러그인을 비활성화하고 'import product image' 옵션을 끄세요.
🔧 검증 코드
출력된 버전이 3.9.2 이하이면 취약하며, 3.9.3 이상이면 패치된 상태입니다. 명령어가 결과를 내지 않으면 플러그인이 설치되지 않았거나 경로가 다른 것입니다.
wp plugin get affiliate-toolkit --field=version 2>/dev/null || grep -r "Version:" /var/www/html/wp-content/plugins/affiliate-toolkit/*.php 2>/dev/null | head -1