🇰🇷 한글 설명
WordPress의 wpForo Forum 플러그인 2.4.8 이하 버전의 get_members() 함수가 'row_count' 파라미터에 대한 정수 유효성 검사를 하지 않아 SQL Injection 취약점이 존재합니다. 미인증 공격자가 row_count를 조작하여 MySQL PROCEDURE ANALYSE 절을 주입하고 에러 기반 또는 시간 기반 SQL injection을 통해 데이터베이스 정보를 추출할 수 있습니다.
💡 쉬운 설명
WordPress의 wpForo 플러그인이 검색 기능에서 사용자 입력을 제대로 검증하지 않아, 누구나 특수 명령어를 통해 데이터베이스의 비밀정보를 빼낼 수 있습니다. 플러그인을 2.4.9 이상으로 업데이트해야 합니다.
🇺🇸 원문 (English)
The wpForo Forum plugin for WordPress is vulnerable to error‐based or time-based SQL Injection via the get_members() function in all versions up to, and including, 2.4.8 due to missing integer validation on the 'offset' and 'row_count' parameters. The function blindly interpolates 'row_count' into a 'LIMIT offset,row_count' clause using esc_sql() rather than enforcing numeric values. MySQL 5.x’s grammar allows a 'PROCEDURE ANALYSE' clause immediately after a LIMIT clause. Unauthenticated attackers controlling 'row_count' can append a stored‐procedure call, enabling error‐based or time‐based blind SQL injection that can be used to extract sensitive information from the database.
📍 영향받는 시스템
WordPress wpForo Forum plugin version 2.4.8 and earlier
⚔️ 공격 벡터
Unauthenticated attacker injects PROCEDURE ANALYSE clause via row_count parameter in get_members() function to trigger error-based or time-based SQL injection
🛡️ 대응 방법
Update wpForo Forum plugin to version 2.4.9 or later; enforce strict integer validation on offset and row_count parameters
🔧 검증 코드
플러그인 버전이 2.4.8 이하면 취약; 2.4.9 이상이면 패치됨
grep -r 'Version:' /var/www/html/wp-content/plugins/wpforo/wpforo.php 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'