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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react-server-cve-lab — React Server Components의 CVE-2025-55183 및 CVE-2025-55184를 위한 보안 연구 랩 | Kitploit
도구/GitHubGitHub/stealthmoud/react-server-cve-lab
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubstealthmoud/react-server-cve-lab

react-server-cve-lab

React Server Components의 CVE-2025-55183 및 CVE-2025-55184를 위한 보안 연구 랩

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React Server Components 보안 연구소 (CVE-2025-55183 & CVE-2025-55184)

License: MIT React Version CVE-2025-55183 CVE-2025-55184

CVE-2025-55183(소스 코드 노출) 및 CVE-2025-55184(서비스 거부) 취약점에 대한 종합적인 보안 테스트 환경입니다.

⚠️ 면책 조항

교육 및 보안 연구 목적으로만 사용하세요

이 저장소는 의도적으로 취약하게 만든 애플리케이션과 익스플로잇 도구를 포함하고 있습니다. 자신이 소유하거나 명시적인 서면 허가를 받은 시스템에서만 테스트하세요. 무단 테스트는 불법이며 비윤리적입니다.

📋 목차

  • 취약점 정보
  • 빠른 시작
  • 저장소 구조
  • 취약한 애플리케이션
  • 스캐너 사용법
  • 상세 문서
  • 수정 방법
  • 라이선스

🔍 취약점 정보

두 취약점 모두 2025년 12월 11일에 공개된 React Server Components 버전 19.0.0~19.2.2에 영향을 미칩니다.

CVE-2025-55183: 소스 코드 노출 (중간 심각도)

속성값
심각도중간 (CVSS 5.3)
유형정보 노출
영향서버 소스 코드 노출
인증필요 없음

공격자는 서버 함수 객체에 대해 .toString()을 호출하여 Server Action 인수를 강제로 서버 전용 소스 코드를 유출시킬 수 있습니다. 이로 인해 다음이 노출됩니다:

  • 비즈니스 로직 및 알고리즘
  • 하드코딩된 API 키 또는 비밀
  • 내부 구현 세부 사항
  • 데이터베이스 쿼리 및 스키마 정보

CVE-2025-55184: 서비스 거부 (높은 심각도)

속성값
심각도높음 (CVSS 7.5)
유형서비스 거부
영향완전한 서비스 중단
인증필요 없음

특수하게 제작된 페이로드가 무한 Promise 재귀를 생성하여 Node.js 서버를 무기한 중단시킵니다. 결과:

  • 완전한 서비스 불가
  • CPU 고갈
  • 이벤트 루프 차단
  • 수동 재시작 필요

비교

⚠️ 중요: 이 데모에서의 CVE-2025-55184 (DoS)에 관하여

DoS가 데모 앱을 다운시키지 못할 수 있는 이유

요약: 앱은 취약합니다(React 19.0.0). 하지만 현대적인 보호 조치로 인해 이 데모 환경에서는 실제 충돌이 발생하지 않을 수 있습니다.

실제 점검

CVE-2025-55184는 프로덕션 환경에서 React 19.0.0~19.2.2에 영향을 미치는 실제이며 심각한 취약점입니다. 그러나 로컬 데모에서 DoS 충돌을 성공적으로 시연하는 것은 다음과 같은 이유로 어려울 수 있습니다:

1. Next.js 내장 보호

  • Next.js 15.x에는 많은 충돌을 잡아 복구하는 오류 경계가 포함됨
  • 자동 오류 복구 메커니즘이 무한 재귀를 방지
  • 프로덕션 모드는 취약한 코드 경로와 다른 오류 처리 방식을 가짐

2. Docker 격리

  • 컨테이너화로 프로세스 격리 추가
  • 리소스 제한이 완전한 시스템 중단을 방지
  • Docker의 init 시스템이 중단된 프로세스를 감지하고 재시작 가능

3. 개발 vs 프로덕션

  • 정확한 취약 코드 경로는 특정 프로덕션 구성을 필요로 함
  • 개발/데모 환경에는 추가 안전 메커니즘이 있음
  • 경합 조건과 타이밍이 컨테이너 내에서 다름

취약점이 존재함을 확인하는 방법

익스플로잇이 데모를 충돌시키지 않더라도 다음 방법으로 취약점을 확인할 수 있습니다:

방법 1: 버전 확인 (가장 신뢰할 수 있음)

root@kitploit:~
cd vulnerable-app
npm list react react-dom

# 출력 결과:
[email protected]        ← 취약한 버전
[email protected]    ← 취약한 버전

19.0.0부터 19.2.2까지 표시되면 애플리케이션이 취약한 것입니다.

방법 2: 스캐너 탐지

root@kitploit:~
cd scanner
python scan.py http://localhost:3000

스캐너가 확인하는 항목:

  • ✅ 취약 범위 내 React 버전
  • ✅ Server Actions 활성화
  • ✅ 적절한 서버 응답 헤더
  • ✅ 익스플로잇 가능한 엔드포인트 패턴

🚀 빠른 시작

사전 요구 사항

  • Docker 및 Docker Compose
  • Python 3.7+
  • Git

1. 저장소 클론

root@kitploit:~
git clone https://github.com/StealthMoud/react-server-cve-lab.git
cd react-server-cve-lab

2. 취약한 애플리케이션 시작

root@kitploit:~
# 앱 시작 (두 CVE에 모두 취약)
docker-compose up --build -d

# 앱 접속: http://localhost:3000

3. 스캐너 실행

root@kitploit:~
cd scanner

# 의존성 설치
pip install -r requirements.txt

# 두 취약점 모두 스캔
python scan.py http://localhost:3000

# CVE-2025-55183만 스캔
python scan.py --cve 55183 http://localhost:3000

# CVE-2025-55184만 스캔
python scan.py --cve 55184 http://localhost:3000

# 여러 대상 스캔
python scan.py --file targets.txt

📁 저장소 구조

root@kitploit:~
react-server-cve-lab/
├── README.md                          # 이 파일
├── DOCUMENTATION.md                   # 전체 기술 문서
├── LICENSE
├── .gitignore
├── docker-compose.yml
│
├── vulnerable-app/                    # 두 CVE에 모두 취약
│   ├── Dockerfile
│   ├── package.json
│   ├── next.config.js
│   └── app/
│       ├── layout.js
│       ├── page.js
│       └── actions.js                 # 취약한 서버 액션
│
├── scanner/
│   ├── requirements.txt
│   ├── scan.py                        # 두 CVE용 스캐너
│   └── README.md
│
└── exploits/
    ├── exploit-55183.py               # CVE-2025-55183 PoC
    ├── exploit-55184.py               # CVE-2025-55184 PoC
    └── README.md

🎯 취약한 애플리케이션

이 애플리케이션은 React 19.0.0과 Server Actions를 사용하는 Next.js 앱으로, 두 CVE에 모두 취약합니다.

기능

  • Server Actions: 두 취약점을 모두 보여주는 여러 엔드포인트
  • 현실적인 코드: 비밀을 포함한 실제 패턴 시뮬레이션
  • 쉬운 테스트: 수동 테스트를 위한 간단한 UI
  • Docker 기반: 격리되고 재현 가능한 환경

앱 시작

root@kitploit:~
# Docker Compose 사용 (권장)
docker-compose up --build -d

# 실행 확인
curl http://localhost:3000

# 로그 보기
docker-compose logs -f

# 앱 중지
docker-compose down

수동 설정 (Docker 없이)

root@kitploit:~
cd vulnerable-app
npm install
npm run build
npm start

🔎 스캐너 사용법

통합 스캐너는 CVE-2025-55183과 CVE-2025-55184를 모두 탐지합니다.

기본 사용법

root@kitploit:~
cd scanner

# 두 CVE 모두 스캔
python scan.py http://localhost:3000

# 특정 CVE만 스캔
python scan.py --cve 55183 http://localhost:3000
python scan.py --cve 55184 http://localhost:3000

고급 옵션

root@kitploit:~
# 상세 출력
python scan.py --verbose http://localhost:3000

# 사용자 정의 타임아웃
python scan.py --timeout 10 http://example.com

# 파일에서 여러 URL 스캔
python scan.py --file targets.txt

# 결과를 JSON으로 저장
python scan.py --output results.json http://localhost:3000

# SSL 검증 비활성화
python scan.py --no-verify https://self-signed.example.com

# 모든 CVE 스캔 (상세 출력 및 결과 저장)
python scan.py --verbose --output scan-results.json http://localhost:3000

출력 예시

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     React Server Components 취약점 스캐너                  ║
║         CVE-2025-55183 & CVE-2025-55184                  ║
╚═══════════════════════════════════════════════════════════╝

[*] http://localhost:3000 테스트 중

[CVE-2025-55183] 소스 코드 노출
[!] 취약: 소스 코드 유출됨
    노출된 함수: 3
    코드 길이: 1247자
    비밀 포함: ✓ (API 키 발견됨)

[CVE-2025-55184] 서비스 거부
[!] 취약: DoS 공격 성공
    상태 코드: 404
    Content-Type: text/plain
    마커 발견: ✓

============================================================
요약
============================================================
총 테스트: 1
CVE-2025-55183 취약: 1
CVE-2025-55184 취약: 1
두 CVE 모두 취약: 1
취약하지 않음: 0

📚 상세 문서

두 취약점에 대한 포괄적인 기술 분석은 다음 문서를 참조하십시오:

DOCUMENTATION.md - 전체 기술 문서:

  • 두 CVE에 대한 상세 취약점 분석
  • 근본 원인 설명
  • 예제를 포함한 익스플로잇 기법
  • 영향 평가
  • 탐지 전략
  • 단계별 수정 방법
  • 방지 모범 사례
  • 코드 샘플 및 PoC

🛡️ 수정 방법

필요한 즉시 조치

두 취약점 모두 동일한 패치 버전에서 수정되었습니다:

  1. React 업데이트 (패치된 버전으로):

    root@kitploit:~
    npm install [email protected] [email protected]
    # 또는
    npm install react@latest react-dom@latest
    
  2. Next.js 업데이트 (해당 시):

    root@kitploit:~
    npm install next@latest
    
  3. 수정 확인:

    root@kitploit:~
    npm list react react-dom next
    python scanner/scan.py http://localhost:3000
    

패치된 버전

패치 후 확인

root@kitploit:~
# 스캐너를 실행하여 수정 확인
cd scanner
python scan.py http://your-patched-app.com

# 예상 출력:
# [+] CVE-2025-55183: 취약하지 않음
# [+] CVE-2025-55184: 취약하지 않음

🔒 보안 모범 사례

CVE-2025-55183 (소스 코드 노출) 방지

  1. 입력 검증: 항상 Server Action 입력을 검증하십시오
  2. 코드에 비밀 저장 금지: 환경 변수를 사용하십시오
  3. 코드 난독화: 민감한 로직에 대해 빌드 타임 난독화 고려
  4. 정기적인 감사: Server Actions에서 민감한 데이터 검토

CVE-2025-55184 (DoS) 방지

  1. 속도 제한: 요청 속도 제한 구현
  2. 타임아웃: 모든 비동기 작업에 적절한 타임아웃 설정
  3. 헬스 체크: 강력한 상태 모니터링 구현
  4. 차단기: 연쇄 장애 방지

일반 권장 사항

  • React와 Next.js를 최신 상태로 유지
  • 보안 권고 구독
  • 웹 애플리케이션 방화벽(WAF) 구현
  • CI/CD에서 정기적인 보안 스캐닝
  • 정보 노출 및 DoS에 대한 사고 대응 계획 수립

🤝 기여

기여를 환영합니다! 개선할 부분:

  • 추가 테스트 케이스
  • 개선된 탐지 방법
  • 더 나은 익스플로잇 예제
  • 향상된 문서

Pull Request를 자유롭게 제출해 주세요.

📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.

🔗 참조

공식 권고

  • React 보안 블로그
  • Vercel 보안 게시판

CVE 세부 정보

  • CVE-2025-55183 (NVD)
  • CVE-2025-55184 (NVD)

추가 자료

  • CWE-502: 신뢰할 수 없는 데이터의 역직렬화
  • CWE-200: 정보 노출
  • React Server Components 문서

⭐ 지원

이 저장소가 보안 연구에 도움이 된다면 별표를 눌러 주시기 바랍니다!

📧 연락처

  • 이슈: GitHub 이슈
  • 보안: 취약점은 책임감 있게 보고해 주세요.

도구 다운로드
측면CVE-2025-55183CVE-2025-55184
심각도중간높음
유형정보 노출서비스 거부
영향소스 코드 유출서버 다운
탐지응답에 코드 포함서버 타임아웃/중단
복구즉시 가능재시작 필요
패키지취약한 버전패치된 버전
React19.0.0 - 19.2.219.0.3+, 19.1.4+, 19.2.3+
Next.js 15.1.x< 15.1.415.1.4+
Next.js 15.0.x< 15.0.415.0.4+
Next.js 14.x< 14.2.2414.2.24+