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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Vitepos-CVE-Report — CVE-2025-13156 공개 | Kitploit
도구/GitHubGitHub/mooseloveti/vitepos-cve-report
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubmooseloveti/vitepos-cve-report

Vitepos-CVE-Report

CVE-2025-13156 공개

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Vitepos-CVE-Report

CVE-2025-13156 공개

CVE-2025-13156 - Vitepos – WooCommerce용 포스(POS) 플러그인의 취약점

본 저장소는 appsbd가 개발한 Vitepos – WooCommerce용 포스(POS) 플러그인 <= 3.3.0에서 발견된 취약점을 공개합니다.

🛠 영향받는 버전

  • 제품: Vitepos – WooCommerce용 포스(POS) 플러그인
  • 버전: ≤ v3.3.0
  • URL: https://wordpress.org/plugins/vitepos-lite/

🔒 할당된 CVE

도구 다운로드
CVE 식별자유형구성 요소영향
CVE-2025-13156인증된(구독자 이상) 임의 파일 업로드를 통한 원격 코드 실행modules/class-pos-settings.php api/v1/class-pos-product-api.php영향을 받는 사이트 서버에 임의 파일 업로드 가능

🧾 상세 설명

CVE-2025-13156 — 인증된(구독자 이상) 임의 파일 업로드

  • 영향받는 구성 요소: 사이트 서버
  • 공격 벡터: 영향을 받는 사이트 서버에 임의 파일 업로드
  • 트리거: 이로 인해 구독자 수준 이상의 접근 권한을 가진 인증된 공격자가 영향을 받는 사이트 서버에 임의 파일을 업로드할 수 있으며, 이로 인해 원격 코드 실행이 가능해집니다.
root@kitploit:~
curl -k \
  'http://localhost:8080/wp-json/vitepos/v1/product/add-category' \
  -H 'Cookie: wordpress_logged_in_<your_hash>=<your_cookie>' \
-H 'X-WP-Nonce: <your_nonce>' \
  -F 'category_name=evil' \
  -F 'category_parent=0' \
  -F 'category_description=PoC-shell' \
  -F 'category_image=@./shell.php;filename="shell.php";type=application/octet-stream'

  • 영향: 모든 인증된 사용자(구독자와 같은 낮은 권한 역할 포함)는 노출된 Vitepos Lite REST 엔드포인트를 통해 wp-content/uploads/<년>/<월>/ 디렉토리에 임의 파일을 업로드할 수 있습니다. PHP 실행이 허용되거나(업로드된 설정 파일을 통해 다시 활성화 가능한) 서버에서는 원격 코드 실행으로 이어집니다. 실행이 차단된 경우에도 공격자는 악성 페이로드를 호스팅하거나 업로드된 HTML/SVG를 통해 저장형 XSS를 제작할 수 있습니다. 이는 효과적으로 모든 로그인 사용자에게 임의 파일 쓰기 권한을 부여합니다.

❓취약점 원인

플러그인의 /wp-json/vitepos/v1/product/... 하위 REST 경로는 사실상 모든 로그인 사용자(is_user_logged_in())를 허용하는 느슨한 권한 검사에 의존하며, 호출자가 POS 사용자인지 제품 용어를 관리할 수 있는 권한이 있는지 확인하지 않습니다. 결과적으로 구독자와 같은 낮은 권한 역할이 add-category/update-category와 같은 엔드포인트에 접근할 수 있습니다.

  • 각 REST 경로에 current_user_can('manage_product_terms')를 확인하는 엄격한 permission_callback을 적용합니다.
  • 클라이언트의 파일명/Content-Type을 신뢰하지 말고, 엄격한 허용 목록(예: JPEG/PNG/WebP)과 wp_check_filetype_and_ext()를 사용하여 wp_handle_upload()를 사용하며, 알 수 없거나 실행 가능한 유형은 거부합니다.

한마디

WebRoot 바로 아래에 배치할 수 없기 때문에 환경에 따라 성공하지 못할 수 있습니다. Uploads 디렉토리 아래는 기본적으로 PHP 실행이 허용되지 않으므로, 특별히 이상한 환경이 아니라면 어렵지 않을까 생각했습니다. MIME 허용 목록에서 application/octet-stream 문자열을 본 순간 나쁜 예감이 들었지만 실제로 성공해서 깜짝 놀랐습니다. 원래는 WordPress 핵심 부분이 PHP 업로드를 막고 있지만, 이 플러그인은 자체 처리를 구현하고 있었기 때문에 이번 취약점이 재현될 수 있었습니다. 꽤 드문 케이스입니다.

🔍 발견자

이름: MooseLove
역할: 독립 보안 연구원 / 버그 헌터
연락처: 요청 시 제공


📚 참고 자료

  • 제품: https://wordpress.org/plugins/vitepos-lite/

⚠️ 라이선스

본 권고는 공공 보안 인식을 위해 제공됩니다. 출처를 밝히고 자유롭게 공유할 수 있습니다.