🇰🇷 한글 설명
WordPress용 Ninja Forms 플러그인의 3.14.9 이하 버전에서 임포트 파일의 'settings' 키를 통한 SQL 인젝션 취약점이 발견되었습니다. 관리자 권한을 가진 공격자가 적절히 검증되지 않은 파라미터를 사용하여 데이터베이스에 추가 SQL 쿼리를 삽입하고 민감한 정보를 추출할 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 설정 파일을 불러올 때, 조작된 데이터를 넣어 데이터베이스의 정보를 몰래 빼낼 수 있는 보안 약점입니다. 데이터베이스에 명령어를 직접 입력할 수 있어 중요한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
The Ninja Forms – The Contact Form Builder That Grows With You plugin for WordPress is vulnerable to generic SQL Injection via Import File 'settings' Key in all versions up to, and including, 3.14.9 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. 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. The vulnerable keys originate from the 'settings' object in an attacker-controlled import file processed via file_get_contents() or base64-decoded/JSON-decoded blobs, bypassing wp_magic_quotes protections entirely; two distinct sinks are affected — _save_setting() in Model.php and insert_form_meta() in ImportForm.php — as only the value side is escaped while the key side receives no sanitization or parameterization at any point in the call chain.
📍 영향받는 시스템
Ninja Forms WordPress plugin (version 3.14.9 and below)
⚔️ 공격 벡터
인증된 관리자 권한을 이용한 악의적인 임포트 파일(JSON/Base64) 업로드 및 'settings' 키 조작
🛡️ 대응 방법
Ninja Forms 플러그인을 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 ninja-forms의 버전이 3.14.9 이하인지 확인하십시오.
wp plugin list --allow-root | grep -E 'ninja-forms'