🇰🇷 한글 설명
Prevent Direct Access – Protect WordPress Files 플러그인의 get_advance_file_by_url() 메서드에서 토큰 검증이 불충분하여 발생하는 취약점입니다. SQL LIKE 연산자 사용 시 와일드카드 문자를 적절히 이스케이프하지 않아, 공격자가 '%'와 같은 문자를 사용하여 인증 없이 보호된 파일을 다운로드할 수 있습니다.
💡 쉬운 설명
비밀번호 대신 '%' 같은 특수 기호를 입력하면 보안 검사를 통과해 버리는 문제입니다. 이로 인해 아무나 권한이 없는 파일을 마음대로 내려받을 수 있습니다.
🇺🇸 원문 (English)
The Prevent Direct Access – Protect WordPress Files plugin for WordPress is vulnerable to unauthorized access of protected files due to insufficient token validation in the `get_advance_file_by_url()` method in all versions up to, and including, 2.8.8.8 The method uses a SQL `LIKE` operator for token lookup without escaping wildcard characters via `$wpdb->esc_like()`. This makes it possible for unauthenticated attackers to bypass the private token requirement by supplying SQL wildcard characters (such as `%`) as the token value, matching any record in the plugin's file table and downloading any protected file.
📍 영향받는 시스템
Prevent Direct Access – Protect WordPress Files 플러그인 2.8.8.8 이하 모든 버전
⚔️ 공격 벡터
인증되지 않은 공격자가 토큰 값에 SQL 와일드카드(%)를 입력하여 파일 접근 권한을 우회함
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 토큰 검증 로직에 $wpdb->esc_like()를 적용하여 수정해야 함
🔧 검증 코드
출력된 플러그인 버전이 2.8.8.8 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --allow-root | grep -E 'prevent-direct-access'