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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/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를 위한 보안 연구 랩

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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-55183CVE-2025-55184
    심각도중간높음
    유형정보 노출서비스 거부
    영향소스 코드 유출서버 다운
    탐지응답에 코드 포함서버 타임아웃/중단
    복구즉시 가능재시작 필요

    ⚠️ 중요: 이 데모에서의 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
      

    패치된 버전

    패키지취약한 버전패치된 버전
    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+

    패치 후 확인

    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 이슈
    • 보안: 취약점은 책임감 있게 보고해 주세요.

    도구 다운로드