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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — CVE-2026-92084에 대한 Docker 검증 랩 및 Python PoC로, Beaver Builder Lite <= 2.11.0.5의 인증되지 않은 shortcode 실행 취약점이며, 패치된 컨트롤과 nuclei 화면을 포함합니다. | Kitploit
도구/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityLabs & Practice
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

CVE-2026-92084-beaver-builder-shortcode-poc

CVE-2026-92084에 대한 Docker 검증 랩 및 Python PoC로, Beaver Builder Lite <= 2.11.0.5의 인증되지 않은 shortcode 실행 취약점이며, 패치된 컨트롤과 nuclei 화면을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-92084 - Beaver Builder 임의 숏코드 실행 검증 랩

CVE-2026-92084를 재현하고 검증하기 위한 보안 연구 자료: Beaver Builder (Lite) <= 2.11.0.5는 빌더의 레이아웃 전체 do_shortcode() 처리(pass)를 통해, Sidebar 모듈이 렌더링하는 위젯 출력에 심어진 임의의 등록된 WordPress 숏코드를 실행한다.

  • 영향받는 버전: Beaver Builder Lite <= 2.11.0.5
  • 수정 버전: 2.11.0.6 (Sidebar 모듈이 'renders_shortcodes' => false를 설정함; 대괄호 인코딩 메커니즘 자체는 더 이전에 배포되었으며 변경되지 않음)
  • CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) - CWE-94
  • 인증: 없음, 그러나 공격자의 댓글은 Recent Comments 위젯이 심어진 숏코드를 노출하기 전에 사이트의 댓글 승인 기준(자동 승인 또는 관리자 조치)을 통과해야 함

소유하고 있거나 명시적으로 테스트 권한을 받은 시스템에서만 사용하십시오. 이 PoC는 작성자 이름에 랩에 등록된 마커 숏코드가 포함된 댓글 하나를 게시합니다. 파괴적인 숏코드는 사용되지 않으며 디스크에 아무것도 기록되지 않습니다.

판정

상태: 제공된 랩에서 입증됨.

Beaver Builder Lite 2.11.0.5 (WordPress 7.1.2, Sidebar 모듈 + Recent Comments 위젯이 있는 빌더 페이지):

comment posted : author name "[cve92084]" on the builder page
result         : rendered page contains the marker shortcode's server-side
                 output "CVE92084-SHORTCODE-FIRED"
                 (executed by the layout-wide do_shortcode() pass)
2.11.0.6       : brackets entity-encoded, marker absent (patched negative
                 control; page shows the literal text [cve92084])

임의의 등록된 숏코드를 서버 측에서 실행하고 그 출력을 페이지에 삽입하여 모든 방문자에게 노출되는 것을 보여줍니다. 이는 RCE를 보여주는 것은 아니며, 영향은 대상에 어떤 숏코드가 등록되어 있는지(게시물/메타데이터 노출, 폼, 부작용이 있는 플러그인 제공 숏코드)에 따라 달라집니다.

근본 원인 (2.11.0.6 수정 사항에 대해 검증됨)

싱크. FLBuilder::render_content()는 조립된 빌더 레이아웃을 출력하기 전에 광범위한 숏코드 처리를 거치게 합니다:

// classes/class-fl-builder.php:2139, Beaver Builder Lite 2.11.0.5
$content = do_shortcode( $content );

주입 지점. Sidebar 모듈은 WordPress 사이드바의 위젯 출력을 해당 레이아웃에 그대로 렌더링합니다:

// modules/sidebar/includes/frontend.php:4, 2.11.0.5
if ( ! dynamic_sidebar( $settings->sidebar ) ) {

위젯 콘텐츠는 신뢰할 수 없는 사용자 데이터입니다. 핵심 Recent Comments 위젯은 get_comment_author_link()를 그대로 출력합니다. 즉, (인증되지 않은) 댓글 작성자가 입력한 이름이 그대로 반영됩니다. FLBuilder::double_escape_shortcodes()는 [[x]] 이스케이프 형식의 대괄호만 다시 감쌀 뿐이므로, 일반 [cve92084]는 그대로 통과되어 do_shortcode() 처리에서 실행됩니다.

수정 사항. 2.11.0.5에는 이미 무력화 메커니즘이 포함되어 있습니다. FLBuilderModule::$renders_shortcodes = true(class-fl-builder-module.php:143)와 두 모듈 렌더 필터에 연결된 FLBuilder::escape_foreign_module_shortcodes()(class-fl-builder.php:109-110, 3240에서 적용)가 그것으로, 모듈 출력에서 등록된 숏코드의 대괄호를 엔티티 인코딩합니다. 다만 Sidebar 모듈은 이 옵트아웃을 적용하지 않았을 뿐입니다. 2.11.0.6의 유일한 기능적 변경은 이 옵트아웃입니다:

// modules/sidebar/sidebar.php, 2.11.0.6
'renders_shortcodes' => false,
// dynamic_sidebar() renders third-party widget output that can contain
// untrusted user data (e.g. a comment author name via the core Recent
// Comments widget); do not run its shortcodes.

익스플로잇 흐름 (검증된 대로)

  1. 사이드바에 공격자가 제어 가능한 위젯 텍스트를 표시하는 사이드바 위에 Sidebar 모듈이 포함된 레이아웃을 가진 아무 빌더 페이지나 대상으로 삼는다 (랩 환경: 코어 Recent Comments 위젯, 실제 대상에서는 사용자 데이터를 그대로 출력하는 아무 위젯).
  2. 숏코드 페이로드를 댓글 작성자 이름으로 하여 /wp-comments-post.php에 댓글을 POST한다.
  3. 해당 댓글이 사이트의 승인 기준을 통과하면 (랩 환경은 자동 승인, 실제 대상에서는 자동 승인 또는 운영자 승인) Recent Comments 위젯이 작성자 이름을 렌더링하기 시작한다.
  4. 빌더 페이지가 다음에 렌더링될 때, 그리고 그 이후 매 렌더링마다 위젯 출력이 레이아웃 내부에 들어가고 do_shortcode() 처리가 페이로드를 실행한다. 그 출력이 작성자 이름을 대체하여 모든 방문자에게 보이게 된다.

빠른 시작

요구 사항: Compose v2가 포함된 Docker, 호스트의 Python 3.10+.

./lab verify

2.11.0.5 랩을 빌드하고 마커가 작동해야 하며, 그다음 2.11.0.6 랩을 빌드하고 마커가 없어야 합니다. ./lab reset으로 모든 것을 제거하십시오.

예상 증거

취약한 컨트롤:

[!!!] SHORTCODE EXECUTION CONFIRMED
  posted  : comment author '[cve92084]' on page 5
  evidence: 'CVE92084-SHORTCODE-FIRED' present in the rendered builder page
  context : ...<a href="https://github.com/hassham1/cve-2026-92084-beaver-builder-shortcode-poc/blob/main/..." class="url">CVE92084-SHORTCODE-FIRED</a>...
RESULT: VULNERABLE CONTROL CONFIRMED

패치된 컨트롤:

[=] shortcode text present but NOT executed: brackets entity-encoded
    (patched >= 2.11.0.6 behavior: escape_foreign_shortcodes).
RESULT: PATCHED CONTROL CONFIRMED

페이지에 표시된 주석(원시 텍스트) 안에만 마커가 있는 것은 증거로 인정되지 않으며, 마커는 숏코드의 실행된 출력으로 나타나야 합니다.

수동 랩 수명 주기

./lab start vulnerable   # 2.11.0.5 lab on http://127.0.0.1:9488
./lab test               # assert marker fires
./lab start patched      # 2.11.0.6 lab
./lab test               # assert absence
./lab status
./lab reset

루프백 기본값으로 PoC를 수동 실행합니다(권한이 부여된 외부 대상에는 명시적 재정의가 필요함):

python3 poc/poc_cve_2026_92084.py --url http://127.0.0.1:9488 --post-id 5
python3 poc/poc_cve_2026_92084.py --url https://target.example \
  --post-id 5 --allow-authorized-non-loopback [--insecure]

nuclei 템플릿(nuclei/cve-2026-92084.yaml)은 버전 확인용일 뿐입니다 (readme.txt stable tag <= 2.11.0.5). 동작 체인은 댓글 제출과 승인 전환이 필요하며, 이는 nuclei로 표현하기에 실용적이지 않습니다. Python PoC가 전체 흐름을 수행합니다.

영향받는 버전 및 테스트된 버전

버전평가
Beaver Builder Lite 2.11.0.5숏코드 실행이 엔드 투 엔드로 재현됨
Beaver Builder Lite 2.11.0.6패치된 네거티브 컨트롤이 재현됨
Beaver Builder Lite <= 2.11.0.4권고에 따라 영향받음; 개별 테스트되지 않음
Beaver Builder (Pro/Agency)테스트되지 않음 - 권고 범위는 Lite 플러그인임

저장소 구조

.
├── .github/workflows/validate.yml
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── docker-compose.yml
├── lab
├── nuclei/
│   └── cve-2026-92084.yaml
├── poc/
│   └── poc_cve_2026_92084.py
└── provision/
    └── install.php

커밋되지 않음: assets/(플러그인 zip), .lab-state, __pycache__/.

검증 경계

주장상태
Sidebar 모듈 위젯 출력을 통한 숏코드 실행입증됨 (2.11.0.5)
렌더링된 빌더 페이지에서 실행 출력 노출입증됨
패치된 네거티브 컨트롤 (2.11.0.6, 대괄호 인코딩됨)입증됨
기본 구성 (랩 사이드바 + Recent Comments 위젯)입증됨 (이것이 랩 토폴로지임)
사용자 데이터를 에코하는 기타 위젯 (태그 클라우드, 메타, 커스텀)테스트되지 않음
등록된 숏코드 출력 이상의 영향 (RCE)주장하지 않음

참고 자료

  • Wordfence: CVE-2026-92084
  • NVD 항목
  • 벤더 수정: changeset 3713226
  • Beaver Builder 플러그인

안전 경계

이 저장소는 소유하고 있거나 테스트 권한을 명시적으로 부여받은 시스템에서만 실행하십시오. 랩 드라이버는 vulnerable/patched 이외의 변형을 거부하고, PoC는 --allow-authorized-non-loopback이 제공되지 않는 한 루프백이 아닌 대상을 거부하며, Compose 포트는 127.0.0.1에 바인딩됩니다.

공개 처리에 대해서는 SECURITY.md를 참조하십시오. 이 저장소에는 프로덕션 대상, 고객 데이터, 액세스 토큰 또는 실제 시스템의 증거가 포함되어 있지 않습니다.

라이선스

MIT - LICENSE 참조.

도구 다운로드