🇰🇷 한글 설명
WordPress용 LearnPress 플러그인 4.4.4 이하 버전에서 'export_order_csv' AJAX 액션의 'orderby' 파라미터를 통한 SQL 인젝션 취약점이 발견되었습니다. 사용자 입력값에 대한 불충분한 이스케이프 처리와 SQL 쿼리 준비 과정의 부재로 인해, 관리자 권한을 가진 공격자가 데이터베이스에서 민감한 정보를 추출할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 도구의 특정 설정값에 악의적인 명령어를 입력하여 데이터베이스를 조작할 수 있는 보안 약점입니다. 관리자 권한을 가진 사용자가 이 취약점을 이용하면 사이트의 중요한 정보를 몰래 빼낼 수 있습니다.
🇺🇸 원문 (English)
The LearnPress plugin for WordPress is vulnerable to SQL Injection via the 'orderby' parameter of the export_order_csv AJAX action in versions up to, and including, 4.4.4. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query in the LP_Order::handle_params_query_list_orders() and DataBase::execute() functions — only the literal values 'date' and 'title' are normalized, while any other attacker-controlled string is assigned directly to the filter's order_by property and concatenated into the ORDER BY clause without $wpdb->prepare() or an identifier whitelist. 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.
📍 영향받는 시스템
WordPress LearnPress plugin versions up to and including 4.4.4
⚔️ 공격 벡터
인증된 관리자 권한을 이용한 AJAX 'export_order_csv' 액션의 'orderby' 파라미터 조작
🛡️ 대응 방법
LearnPress 플러그인을 최신 버전으로 업데이트하거나, 입력값에 대한 화이트리스트 검증 및 $wpdb->prepare() 사용을 적용해야 합니다.
🔧 검증 코드
출력된 결과에서 LearnPress 플러그인의 버전을 확인하여 4.4.4 이하인지 점검합니다.
wp plugin list --status=active | grep -i 'learnpress'