WordPress Ninja Forms 플러그인 임의 숏코드 실행 취약점 (CVE-2026-100155)
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTNinja Forms WordPress 플러그인 3.15.5 이하의 모든 버전
인증되지 않은 공격자가 입력값 검증 미흡을 악용하여 서버 측에서 임의의 WordPress 숏코드를 실행하고 민감한 정보를 탈취하거나 추가적인 공격을 수행할 수 있습니다
Ninja Forms 플러그인을 최신 안전 버전(3.15.6 이상)으로 즉시 업데이트하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
PATCH & WORKAROUND1. 공식 보안 패치 적용
벤더사에서 제공하는 최신 버전으로 플러그인을 업데이트하십시오. WordPress 관리자 대시보드에서 직접 업데이트하거나 아래 CLI 명령어를 사용할 수 있습니다.
# WP-CLI를 통한 플러그인 업데이트
wp plugin update ninja-forms2. 임시 완화 조치 (WAF 룰 적용)
패치 적용이 어려운 환경에서는 웹 애플리케이션 방화벽(WAF)을 사용하여 AJAX 요청 내 숏코드 패턴([...])이 포함된 비정상적인 페이로드를 차단하십시오.
- 임시 탐지 규칙 예시 (ModSecurity):
SecRule REQUEST_URI "/wp-admin/admin-ajax.php" "id:100155,phase:2,deny,status:403,log,msg:'Block Ninja Forms Shortcode Injection Attempt',chain"
SecRule ARGS "@rx \[.+\]"코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요
서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.
취약점 발생 원리 및 공격 메커니즘
WordPress용 Ninja Forms 플러그인에서 입력값 검증 미흡으로 인해 발생하는 임의 숏코드 실행(Arbitrary Shortcode Execution) 취약점입니다.
공격자는 AJAX 컨트롤러(Submission.php) 및 병합 태그 처리 로직(MergeTags.php, SuccessMessage.php)을 거치는 과정에서 적절히 필터링되지 않은 입력값을 주입할 수 있습니다. 플러그인 내부에서 사용자 입력값을 검증 없이 do_shortcode() 함수로 전달하여 실행하기 때문에, 인증되지 않은 외부 공격자가 시스템에 정의된 임의의 숏코드를 호출할 수 있게 됩니다. 이는 사이트 내부 정보 노출, 권한 없는 기능 실행, 또는 다른 취약점과 연계된 2차 공격으로 이어질 수 있습니다.
공식 보안 권고문 및 참조 링크
The The Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 3.15.5 This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for unauthenticated attackers to execute arbitrary shortcodes.
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.