무슨 일이 있었나
AI Engine 챗봇 플러그인의 다단계 체인: 채팅 제출 거부 목록 우회 → 위조 PHP 오류 로그 주입 → AI 프롬프트로의 간접 프롬프트 주입 → 이스케이프되지 않은 대시보드 렌더링(저장 XSS). 인증되지 않은 공격자는 관리자가 WordPress 대시보드를 로드할 때마다 브라우저에서 실행되는 콘텐츠를 스테이징하고 사이트 AI 어시스턴트가 컨텍스트로 수신하는 내용에 영향을 줄 수 있다.
왜 중요한가
이는 드문 이중 분류 발견이다: 로그 중독을 통해 LLM 컨텍스트에 공격자 텍스트를 주입하는 인증되지 않은 간접 프롬프트 주입 경로(CWE-1427)와 관리자를 타격하는 저장 XSS. 방어자에게 WordPress AI 플러그인이 AI 컨텍스트를 중독시키고 관리자 세션을 탈취하는 데 모두 무기화될 수 있음을 보여준다.
공격 경로
인증되지 않은 호출자가 모델 문자열이 거부 목록을 통과하도록 정규화된(예: 'model ' → 'model') 조작된 채팅 요청을 제출하여 쿼리에 CR/LF를 주입하면, 결과 예외 메시지가 PHP 오류 로그에 그대로 기록되어 플러그인 자체 오류 로그 파서가 나중에 AI 프롬프트로 공급하는 로그 라인을 위조한다(간접 프롬프트 주입, CWE-1427). 해당 JSON은 대시보드 어드바이저 위젯에 정제되지 않은 채 렌더링된다(관리자 액세스 시 저장 XSS).
영향받는 시스템
AI Engine – The Chatbot, AI Framework & MCP for WordPress ≤ 3.8.0
완화 방안
AI Engine을 3.8.0 이후 버전으로 업데이트(벤더 MWAI/MeowKit 패치 릴리스), 그동안 PHP 오류 로그 쓰기 액세스 강화