Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-61183 | Kitploit
도구/GitHubGitHub/thawphone/cve-2025-61183
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubthawphone/cve-2025-61183

CVE-2025-61183

저장소 보기
6개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[CVE-2025-61183] 안전하지 않은 SVG 처리로 인한 사용자 아바타 업로드의 저장형 XSS

개요

vaahcms에서 저장형 교차 사이트 스크립팅(XSS) 취약점이 발견되었습니다. 특히 MediaController.php의 파일 업로드 로직과 UserBase.php의 storeAvatar() 메서드 간의 상호 작용에서 발생하며, 낮은 권한의 등록 사용자가 JavaScript가 내장된 악성 SVG 파일을 업로드할 수 있습니다. 이 취약점은 콘텐츠 또는 MIME 유형 검증 이전에 파일 저장이 이루어지기 때문에 발생하며, 악성 파일이 서버의 예측 가능하고 공개적으로 접근 가능한 경로에 남게 됩니다. 취약점은 **MediaController.php**의 upload() 메서드에서 비롯됩니다.

$path = $request->file($input_file_name) ->storeAs($request->folder_path, $upload_file_name); 이로 인해 공격자가 디렉터리 경로를 지정할 수 있게 되어, XSS를 유발하는 SVG와 같은 악성 파일을 public/ 디렉터리에 직접 배치할 수 있고, 페이로드가 웹 브라우저를 통해 즉시 접근 가능해집니다.

영향

성공적으로 악용될 경우, 공격자는 공개 저장 경로(/storage/media/YYYY/MM/<controlled-filename>.svg)에 기록되는 파일의 내용과 파일명을 제어할 수 있습니다. 이 공개적으로 접근 가능한 SVG가 이후 사용자의 브라우저에서 ``, <object> 또는 조작된 링크를 통해 렌더링되면 포함된 스크립트가 실행되어 지속형 XSS가 발생합니다.

영향받는 제품 및 버전

  • 제품: VaahCMS
  • 취약한 버전: 2.3.1

취약한 엔드포인트

POST /backend/vaah/manage/media/upload

주요 결함

  1. 경쟁 조건/시점 문제: 파일이 콘텐츠 검증이나 MIME 유형 검사가 수행되기 전에 디스크에 실제로 저장됩니다.
  2. 예측 가능한 경로: 악성 파일은 예측 가능한 공개 경로인 /storage/media/YYYY/MM/<controlled-filename>.svg에 저장됩니다.
  3. 정리 없음: 백엔드가 오류(예: {"success": false, "errors": ["Unable to decode input"]})를 반환하더라도 파일은 유지됩니다.

악용 흐름(개념 증명)

  1. 공격자는 특수하게 조작된 SVG 파일을 생성합니다(POC.svg 참조).
  2. 공격자는 취약한 엔드포인트에 요청을 보내고 파일명(예: xss.svg)을 제어합니다.
  3. 백엔드에서 실패 응답을 반환해도 파일은 예를 들어 /storage/media/2025/08/xss.svg 경로에 디스크에 저장됩니다.
  4. 공격자는 피해자에게 링크를 전달하거나 경로를(예: 포럼 게시물이나 이메일로) 삽입하여 페이로드를 트리거합니다. POC

완화 조치/공급업체 대응

  • 공급업체: VaahCMS
  • 상태: 확인됨, 수정 대기 중
  • 임시 완화 조치:
    • 애플리케이션에서 SVG 파일 업로드를 완전히 비활성화
    • 파일을 저장하기 전에 MIME 유형 검사를 사용하여 서버 측 파일 유형 검증 구현
    • 전용 SVG 정화(sanitizer) 라이브러리 사용(예: PHP용 enshrined/svg-sanitize)
    • 업로드된 파일을 웹 루트 외부에 저장하고 보안 프록시를 통해 제공
    • 검증에 실패한 파일의 자동 정리 구현

🔗 참조

  • https://github.com/webreinvent/vaahcms/issues/301

연구자: Thaw Phone Nyo

공개 날짜: 2025/10/8

도구 다운로드