Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-12227 — CVE-2026-12227에 대한 Proof-of-concept 및 기술 분석으로, WordPress Visual Composer 플러그인의 vcv-template 파라미터를 통한 인증되지 않은 LFI/RCE 취약점입니다. | Kitploit
도구/GitHubGitHub/mrdark-ops/cve-2026-12227
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubmrdark-ops/cve-2026-12227

CVE-2026-12227

CVE-2026-12227에 대한 Proof-of-concept 및 기술 분석으로, WordPress Visual Composer 플러그인의 vcv-template 파라미터를 통한 인증되지 않은 LFI/RCE 취약점입니다.

저장소 보기
2일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-12227: Visual Composer Website Builder 인증되지 않은 로컬 파일 포함(LFI)



요약

CVE-2026-12227은 WordPress용 Visual Composer Website Builder 플러그인에서 발생하는 치명적인(CVSS 9.8) 인증되지 않은 로컬 파일 포함(LFI) 취약점으로, 45.16.0 버전까지 모든 버전에 영향을 미칩니다. 이 결함은 vcv-template 파라미터에 존재하며, 공격자가 서버의 임의 파일을 포함하고 실행할 수 있도록 합니다. 이는 민감한 데이터 노출, 접근 제어 우회, 또는 서버 환경이 잘못 구성된 경우 완전한 원격 코드 실행(RCE)으로 이어질 수 있습니다.

CVE ID

CVE-2026-12227

CVSS

9.8/10

영향을 받는 제품

Visual Composer Website Builder 플러그인 (45.16.0 버전까지)

기술적 세부 사항

근본 원인: 이 취약점은 CWE-98: PHP 프로그램의 Include/Require 구문에 대한 파일명 부적절한 제어(흔히 PHP 원격 파일 포함이라고 함)로 분류됩니다. 이는 PageTemplatesController.php 파일, 특히 viewPageTemplate() 함수 내의 논리 결함에서 비롯되며, 이 함수는 인증 확인 없이 WordPress의 template_include 필터에 우선순위 11로 후킹됩니다.

핵심 문제는 "검증 후 변형(validate-then-mutate)" 결함입니다:

검증(원시 입력에 대해): 코드는 먼저 사용자가 제공한 vcv-template 파라미터의 원시 값에 대해 WordPress의 validate_file() 함수를 호출합니다. 이 함수는 ...와 같은 리터럴 디렉터리 순회 시퀀스를 포함하는 경로를 거부하도록 설계되었습니다. 이 단계에서 악성 입력 theme:.theme:./.theme:./.theme:./wp-links-opml.php는 리터럴 ..을 포함하지 않으므로 검증을 통과합니다.

변형(검증 후): 검증 직후, 코드는 템플릿 유형이 vc-custom-layout인지 그리고 값에 theme: 문자열이 포함되어 있는지 확인합니다. 그렇다면 str_replace('theme:', '', $current['value'])를 수행하여 값에서 모든 theme: 항목을 제거합니다.

싱크: 변형된 값은 이후 locate_template()에 전달되며, 이 함수가 경로를 확인하고 파일을 포함합니다. theme: 문자열이 제거되었기 때문에 분할된 순회 시퀀스가 결합되어 ../../../../wp-links-opml.php와 같은 유효한 경로를 생성하며, 이는 최종 형태로 검증된 적이 없습니다.

공격 표면: 공격 벡터: 네트워크(AV:N) — 이 취약점은 HTTP/HTTPS를 통해 직접 도달할 수 있습니다.

인증: 필요 없음(PR:N) — 인증되지 않은 취약점입니다. 모든 원격 공격자가 유효한 계정 없이 트리거할 수 있습니다.

사용자 상호작용: 필요 없음(UI:N).

영향받는 구성 요소: WordPress용 Visual Composer Website Builder 플러그인.

취약한 파라미터: vcv-template 파라미터로, vcv-template-type 파라미터와 함께 사용됩니다.

트리거 조건: 플러그인이 WordPress 사이트에 설치되어 활성화되어 있어야 하며, 프런트엔드 페이지가 Visual Composer로 구축되어 있어야 합니다(즉, 정상적인 퍼머링크가 존재해야 함).

익스플로잇 참고 사항: 영향: 이 결함은 인증되지 않은 공격자가 서버의 임의 로컬 파일을 포함하고 실행할 수 있도록 합니다. 포함된 PHP 파일이 실행되므로 원격 코드 실행(RCE)으로 이어질 수 있으며, 서버의 기밀성, 무결성, 가용성을 완전히 침해할 수 있습니다.

익스플로잇 기법: 공격자는 근본 원인에서 설명한 대로 theme: 접두사를 사용하여 검증을 우회하는 악성 vcv-template 값을 구성하여 이를 악용할 수 있습니다. 예를 들어, 요청은 다음과 같을 수 있습니다: POST /?vcv-template-type=vc-custom-layout&vcv-template=theme:.theme:./.theme:./.theme:./wp-links-opml.php.

RCE 에스컬레이션: LFI 자체는 치명적이지만, RCE를 달성하는 것은 종종 서버 환경에 달려 있습니다. 일반적인 방법은 이미 서버에 업로드된 파일(예: PHP 코드가 삽입된 겉보기에 무해한 이미지 파일)을 포함하거나 다른 서버 구성 오류를 활용하는 것입니다.

PoC 가용성: Python 스크립트와 Nuclei 템플릿을 포함한 여러 개념 증명 익스플로잇이 공개되어 있으며, 승인된 랩 환경에서 검증에 사용할 수 있습니다

  • 이 섹션은 전부 작성하기에 너무 게을러서 AI가 재현했습니다

개념 증명

[*] 위에 제공된 Python 코드

해결 방안

패치 버전: 45.16.1

참고 자료

  • CVE.org: https://www.cve.org/CVERecord?id=CVE-2026-12227
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-12227
  • MITRE CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-12227
  • VulDB: https://vuldb.com/?search=CVE-2026-12227
  • Wordfence Intelligence: https://www.wordfence.com/threat-intel/vulnerabilities/
  • Patchstack: https://patchstack.com/database/
  • WPScan: https://wpscan.com/vulnerability/
  • Exploit-DB: https://www.exploit-db.com/search?cve=2026-12227
  • GitHub Search: https://github.com/search?q=CVE-2026-12227
  • Nuclei Templates: https://github.com/projectdiscovery/nuclei-templates
  • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  • Rapid7: https://www.rapid7.com/db/
  • Tenable: https://www.tenable.com/cve/CVE-2026-12227
  • Snyk: https://security.snyk.io/vuln/?search=CVE-2026-12227
  • Aqua: https://avd.aquasec.com/nvd/cve-2026-12227
  • CVE Details: https://www.cvedetails.com/cve/CVE-2026-12227/
  • CIRCL: https://cve.circl.lu/cve/CVE-2026-12227
  • GitHub Advisory: https://github.com/advisories?query=CVE-2026-12227
  • Packet Storm: https://packetstormsecurity.com/search/?q=CVE-2026-12227
  • Sploitus: https://sploitus.com/?query=CVE-2026-12227
  • Vulmon: https://vulmon.com/vulnerabilitydetails?qid=CVE-2026-12227
  • CVEFeed: https://cvefeed.io/vuln/detail/CVE-2026-12227
  • OpenCVE: https://www.opencve.io/cve/CVE-2026-12227
  • CVE.report: https://cve.report/CVE-2026-12227
  • Vulners: https://vulners.com/cve/CVE-2026-12227
  • Security-Database: https://www.security-database.com/cve/CVE-2026-12227
  • CVE Crowd: https://cvecrowd.com/cve/CVE-2026-12227
  • CVE Base: https://www.cvebase.com/cve/2026/12227
도구 다운로드