🇰🇷 한글 설명
WordPress용 WPvivid Backup & Migration 플러그인 0.9.131 이하 버전에서 SQL 인젝션 취약점이 발견되었습니다. export_data 파라미터에 대한 불충분한 검증으로 인해 관리자 권한을 가진 공격자가 데이터베이스에서 민감한 정보를 추출할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 도구의 허점을 이용해 해커가 데이터베이스에 몰래 명령을 내릴 수 있는 보안 약점입니다. 관리자 권한을 가진 사람이 이 기능을 악용하면 사이트의 중요한 정보를 훔쳐갈 수 있습니다.
🇺🇸 원문 (English)
The WPvivid Backup & Migration plugin for WordPress is vulnerable to SQL Injection via the export_data parameter in versions up to, and including, 0.9.131. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. The values are received in prepare_export_post(), passed through sanitize_text_field() and stripslashes(), JSON-decoded, and the attacker-controlled JSON object keys are collected as $posts_ids without integer casting. They are stored in the export task options and later joined with commas and interpolated directly into a `WHERE ID IN (...)` clause inside a $wpdb->get_results() call in export_post_to_xml() (unquoted, numeric context), with no $wpdb->prepare() or esc_sql(). This makes it possible for authenticated attackers, with Administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
📍 영향받는 시스템
WPvivid Backup & Migration plugin (버전 0.9.131 및 그 이하 버전)
⚔️ 공격 벡터
인증된 관리자 권한을 이용한 export_data 파라미터 내 SQL 쿼리 삽입
🛡️ 대응 방법
WPvivid Backup & Migration 플러그인을 최신 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 버전이 0.9.131 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --status=active | grep -i 'wpvivid' && wp plugin list --all | grep -E 'wpvivid.*[0-9]+\.[0-9]+\.[0-9]+'