🇰🇷 한글 설명
WordPress용 ERP: Complete HR, Accounting & CRM Suite 플러그인의 'erpadvancefilter' 파라미터에서 SQL 인젝션 취약점이 발견되었습니다. 1.17.4 버전 이하의 모든 버전에서 사용자 입력값에 대한 불충분한 이스케이프 처리와 SQL 쿼리 준비 미흡으로 인해 발생합니다. 이를 통해 인증된 공격자가 데이터베이스에서 민감한 정보를 추출할 수 있습니다.
💡 쉬운 설명
특정 플러그인을 사용하는 웹사이트에서 권한을 가진 사용자가 조작된 명령어를 입력하여 데이터베이스의 비밀 정보를 몰래 빼낼 수 있는 보안 약점입니다. 데이터베이스를 보호하는 필터가 제대로 작동하지 않아 발생하는 문제입니다.
🇺🇸 원문 (English)
The ERP: Complete HR, Accounting & CRM Suite with WooCommerce CRM Support plugin for WordPress is vulnerable to SQL Injection via the 'erpadvancefilter' parameter in all versions up to, and including, 1.17.4 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. The handler runs the value through sanitize_text_field, which preserves single quotes, and the downstream erp_crm_contact_advance_filter() function interpolates it directly into a single-quoted SQL WHERE clause before execution via $wpdb->get_results(). This makes it possible for authenticated attackers, with the plugin-supplied CRM Agent role (or higher CRM Manager / WordPress admin) and the erp_crm_list_contact capability, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
📍 영향받는 시스템
ERP: Complete HR, Accounting & CRM Suite with WooCommerce CRM Support plugin (v1.17.4 이하)
⚔️ 공격 벡터
인증된 공격자가 'erpadvancefilter' 파라미터에 악의적인 SQL 구문을 삽입하여 실행
🛡️ 대응 방법
해당 플러그인을 최신 버전으로 업데이트하거나, SQL 인젝션을 방지하도록 코드를 수정(prepared statements 사용)해야 합니다.
🔧 검증 코드
출력된 플러그인 목록에서 해당 플러그인의 버전이 1.17.4 이하인지 확인합니다.
wp plugin list --status=active | grep -E 'erp-complete-hr-accounting-crm'