🇰🇷 한글 설명
WordPress용 ERP 플러그인의 save_attachments() 함수에서 파일 확장자 검증 및 경로 정규화 미흡으로 인해 제한 없는 파일 업로드 취약점이 발견되었습니다. 공격자는 조작된 이메일 첨부파일을 통해 PHP 파일을 보호되지 않은 디렉토리에 업로드하여 원격 코드 실행(RCE)을 수행할 수 있습니다.
💡 쉬운 설명
이메일을 통해 악성 파일을 몰래 서버에 저장할 수 있는 보안 구멍이 발견되었습니다. 해커가 이 구멍을 이용해 서버에 명령을 내리면 웹사이트를 완전히 장악할 수 있습니다.
🇺🇸 원문 (English)
The ERP: Complete HR, Accounting & CRM Suite Built for WooCommerce plugin for WordPress is vulnerable to Unrestricted File Type Upload in all versions up to, and including, 1.17.8 via the save_attachments() function. This is due to missing file extension validation and missing path normalization when CRM Email Connect processes inbound IMAP email attachments. This makes it possible for unauthenticated attackers to send a crafted email to the site's configured inbound mailbox with a forged References header matching the plugin's expected pattern and an attachment filename such as `../helper.php`, causing the cron-based IMAP sync job to write attacker-controlled PHP outside of the .htaccess-protected `crm-attachments` directory and into `wp-content/uploads/`. On configurations where PHP executes in uploads, this can lead to remote code execution. Exploitation requires the CRM module and IMAP Email Connect feature to be enabled and configured.
📍 영향받는 시스템
ERP: Complete HR, Accounting & CRM Suite Built for WooCommerce (버전 1.17.8 이하)
⚔️ 공격 벡터
조작된 References 헤더와 경로 조작 파일명이 포함된 이메일 첨부파일을 통한 공격
🛡️ 대응 방법
해당 플러그인을 최신 버전으로 업데이트하거나 CRM 및 IMAP Email Connect 기능을 비활성화하십시오.
🔧 검증 코드
출력된 결과에서 해당 플러그인의 이름과 현재 설치된 버전을 확인하여 1.17.8 이하인지 체크합니다.
wp plugin list --status=active | grep -E 'erp-complete-hr-accounting-crm'