메타 설명: React2Shell(CVE-2025-55182)은 React 서버 컴포넌트와 Next.js에 영향을 미치는 중요한 사전 인증 RCE로 즉각적인 패치, 강화된 구성, 엣지 방어 및 런타임 탐지가 필수적입니다. 이 가이드는 최신 웹 앱을 보호하기 위한 위협 컨텍스트, 코드 및 CI 안전 수정, 심층적인 방어 전략을 제공합니다.
리액트2쉘이란 무엇이며 모두가 말하는 이유
2025년 12월 초, CVE-2025-55182(및 Next.js의 경우 별칭 CVE-2025-66478)로 추적되는 React2Shell이라는 중요한 취약점이 공개적으로 발견되었습니다. 이 결함은 리액트 서버 컴포넌트(RSC) "Flight" 프로토콜이 들어오는 페이로드를 역직렬화하는 방식에 있습니다. 공격자는 악의적인 요청을 만들어 서버에서 안전하지 않은 역직렬화를 트리거하여 다음과 같은 결과를 초래할 수 있습니다. 인증되지 않은 원격 코드 실행(RCE). censys.com+2Sysdig+2
심각도는 다음과 같이 평가됩니다. CVSS 10.0 (최대). NetSPI+1 이것이 특히 위험한 이유는 많은 기본 배포 와 같은 프레임워크(RSC 지원 포함)의 경우 개발자가 사용자 지정 서버 기능 엔드포인트를 작성하지 않았더라도 악용할 수 있게 됩니다. 인사이트 Egnworks+2blog.tecnetone.com+2
공개 직후, 여러 위협 인텔리전스 팀과 클라우드 공급업체(AWS, GreyNoise, 보안 연구원)는 다음과 같이 보고했습니다. 야생에서의 활발한 착취 - 기회주의적 스캐닝, 익스플로잇 시도, 국가 연계 그룹에 의한 침입이 일부 확인되었습니다. 테크레이더+3아마존 웹 서비스, Inc.+3그레인노이즈.io+3
본질적으로: React2Shell은 이론적인 것이 아니라 실제적이고, 중요하며, 현재 진행형입니다.

영향을 받는 사람 - 그리고 안전하다고 생각할 수 있지만 그렇지 않은 사람
| 패키지 / 프레임워크 | 취약한 버전 | 패치/안전 버전(2025년 12월 기준) |
|---|---|---|
| 리액트 서버 돔 웹팩, 리액트 서버 돔 파셀, 리액트 서버 돔 터보팩(RSC 코어) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 (react2shell.info) | ≥ 19.0.1, 19.1.2, 19.2.1 (react2shell.info) |
| Next.js(앱 라우터/RSC 활성화된 경우) | 15.x, 16.x; 특정 카나리아 14.x-14.3.0-canary.77+ (react2shell.info) | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7(또는 이후 안정)(react2shell.info) |
중요한 주의 사항: 애플리케이션이 not 명시적인 "서버 함수 엔드포인트"를 정의하고, 클라이언트 측 렌더링에만 React를 사용한다고 생각하더라도 React RSC가 의존성을 통해 번들로 제공되거나 기본 스캐폴딩에 RSC 지원 코드가 포함될 수 있으므로 여전히 위험에 노출될 수 있습니다. unsafe.sh+1
따라서 신중하게 감사 - "우리는 서버 코드를 작성하지 않았기 때문에 안전하다"고 가정하지 마세요.
공격자들이 지금 하고 있는 일 - 실제 위협
- 내 공개 시간를 통해 광범위한 인터넷 검색 캠페인이 시작되었습니다. greynoise.io+2cyble.com+2
- 일부 중국 국가 연계 APT 그룹 는 초기 액세스를 위해 리액트2셸에 취약한 호스트를 표적으로 삼은 후 채굴기를 배포하고 자격 증명을 훔치거나 지속성을 확보하기 위해 이동한 것으로 알려졌습니다. 아마존 웹 서비스, Inc.+2SOC 프라임+2
- 보안 회사와 사고 대응 팀은 "바닐라" Next.js 앱에 대한 성공적인 익스플로잇을 관찰했습니다.
다음 앱 만들기) - 기본 설정이 안전을 보장하지 않는다는 의미입니다. blog.tecnetone.com+2byteiota | 비트에서 바이트까지+2
한 커뮤니티 보고서가 눈에 띕니다:
"내 NextJS 서버가 React2Shell 익스플로잇에 의해 손상되었습니다... DDoS 악용 알림, 5가지 멀웨어 제품군 배포, 암호화폐 채굴기 드롭퍼." Reddit
공격 자동화의 규모와 공격성을 고려할 때 대응이 지연되거나 피상적인 대응은 심각한 침해로 이어질 수 있습니다.
즉시 패치 - fix-react2shell-next 사용
가장 빠른 일선 방어는 다음과 같습니다. 패치 종속성 및 리빌드. fix-react2shell-next 패키지는 모노레포스 전반에서 취약한 버전을 자동으로 탐지하고 업그레이드합니다. CVE-2025-55182 스캐너 +1
업그레이드 명령 예시:
bash
엔피엑스 수정-리액트2셸-다음 엔피엠 설치 리액트@^19.2.1 리액트돔@^19.2.1 다음@^16.0.7
그런 다음 다시 빌드하고 재배포하여 이전 잠금 파일이나 캐시된 패키지가 남아 있지 않도록 합니다.
권장 워크플로(CI/CD 안전):
- 파이프라인에 SBOM 또는 종속성 확인 단계를 추가합니다.
- 취약한 RSC 패키지가 남아 있는 경우 병합/빌드를 차단합니다.
- 배포하기 전에 캐시를 지우고 전체 아티팩트를 다시 빌드하세요.
이렇게 하면 배포 아티팩트에 더 이상 취약한 코드가 일시적으로라도 포함되지 않습니다.
심층 방어: WAF, 요청 강화 및 런타임 탐지
패치를 적용하면 버그를 원천적으로 제거할 수 있지만, 강력한 보안을 위해서는 향후 잘못된 구성, 알 수 없는 종속성 또는 제로데이 변종에 대비한 계층화된 방어가 필요합니다. 공개 연구 결과(예: Sysdig, Wiz 및 클라우드 네이티브 보호 기능을 사용하는 공급업체) 기반 Sysdig+2research.jfrog.com+2를 사용하는 것이 좋습니다:
엣지 레벨/WAF 보호
의심스러운 POST를 RSC 엔드포인트에 차단하는 WAF 규칙을 구성하거나 배포합니다(예 /_next, /_rsc또는 서버 함수 경로), 특히 요청 본문 크기나 콘텐츠 유형이 비정상적인 경우(예: 바이너리 페이로드)에는 더욱 그렇습니다. 많은 주요 WAF 제공업체가 이미 React2Shell 서명을 출시했습니다. Sysdig+1
위생 처리 요청 / 신체 크기 제한 요청
앱에 사용자 지정 서버 엔드포인트가 포함된 경우 본문 크기 제한을 적용하고 콘텐츠 유형을 제한하며 예기치 않은 페이로드를 명시적으로 거부하세요. 예를 들어 (노드/익스프레스 스타일):
js
import { json, urlencoded } from 'body-parser'; app.use(json({ limit: '10kb' })); app.use(urlencoded({ extended: false, limit: '10kb' })); app.use('/api/rsc', (req, res, next) => {if (!['application/json','application/octet-stream'].includes(req.headers['content-type']))) {return res.status(415).end(); }next(); });
이렇게 하면 아직 복잡한 역직렬화 로직을 트리거하는 잘못된 또는 악의적인 페이로드의 위험이 줄어들어 전체 패치가 적용될 때까지 시간을 벌 수 있습니다.
런타임 탐지/모니터링/프로세스 스폰 알림
익스플로잇 후 행동에는 종종 셸 스폰(예: 마이너, 리버스 셸)이 포함되므로, 런타임 탐지를 추가하면(Falco, 런타임 보안 에이전트, EDR과 같은 도구를 통해) 비정상적인 자식 프로세스 호출 또는 아웃바운드 연결을 포착하는 데 도움이 됩니다. Sysdig 연구원들은 이미 React2Shell 익스플로잇 패턴에 대한 탐지 규칙을 공개적으로 발표했습니다. Sysdig
강화 예시: 패치에서 안전한 배포까지(코드 + 구성)
bash
# 1. 패치 종속성 엔피엑스 수정-반응2셸-다음 엔피엠 설치 react@^19.2.1 반응-돔@^19.2.1 다음@^16.0.7
깨끗한 빌드 환경
rm -rf node_modules .next package-lock.json npm 설치 npm 실행 빌드

CI에 SBOM/종속성 검사 추가
GitHub 액션 스니펫`
yaml
이름: React2Shell 노출 방지: [풀리퀘스트, 푸시] 작업: 의존성 검사: 실행: 우분투 최신 단계: - 사용: actions/checkout@v4 - 실행: npm ci - 이름: RSC 패키지 실행 차단: | npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack || true npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack | grep -E "@(19\\.[0|1])\\." && (echo "취약한 RSC 발견" && exit 1)
또한 위와 같이 서버 코드에 본문 크기 제한 및 콘텐츠 유형 필터링을 통합하고, 배포 후 의심스러운 행동을 포착할 수 있도록 런타임 모니터링 에이전트 또는 클라우드 네이티브 EDR을 배포하세요.
실제 데이터: 영향, 악용 및 지연이 위험한 이유
- 공개적으로 공유된 원격 분석에 따르면, 다음과 같이 많은 사람들이 인터넷에 노출된 77,000개의 IP 잠재적으로 취약한 상태로 남아 있습니다. blog.tecnetone.com+1
- 공개 후 몇 시간 만에 공격자들은 APT 그룹의 시도를 포함하여 패치되지 않은 시스템을 대량으로 스캔하고 익스플로잇하기 시작했습니다. 아마존 웹 서비스, Inc.+2SOC 프라임+2
- 공개 개념 증명(PoC) 코드가 유포되기 시작했고 일부 패치되지 않은 호스트는 멀웨어 드로퍼, 암호화폐 채굴자, 자격 증명 유출 등 완전한 침해 피해를 입은 것으로 알려졌습니다. Reddit+1
한 Reddit 사용자가 이렇게 썼습니다:
"내 NextJS 서버가 여러 멀웨어 제품군, 암호화폐 채굴기, 자격 증명 도용으로 인해 React2Shell에 의해 손상되었습니다." Reddit
이것은 더 이상 "편의상 패치"가 아닌 다음과 같은 문제입니다. 긴급.
어디 Penligent.ai 적합성 - 자동화된 테스트, 지속적 보증 및 회귀 보호
보안 테스트 또는 침투 테스트 도구(특히 자동화 또는 AI 기반)를 사용하거나 구축하는 팀에게 React2Shell은 중요한 교훈을 보여줍니다: 종속성 기반 취약성 + 역직렬화 위험 + 기본 구성이 대규모 공격 표면을 생성합니다..
함께 Penligent.ai를 클릭합니다:
- 자동화된 종속성 스캔 및 SBOM 분석 - 여러 리포지토리에서 취약한 RSC 패키지(react-server-dom-*) 또는 패치되지 않은 Next.js 버전을 한 번에 식별할 수 있습니다.
- 자동화된 익스플로잇 시뮬레이션(안전 샌드박스) - 펜리전트의 샌드박스 에뮬레이션은 공개 PoC를 사용하지 않고도 잘못된 RSC 요청을 생성하고(비파괴적) 서버 응답을 테스트하며 위험한 역직렬화 동작을 감지할 수 있습니다.
- 회귀 경고를 위한 CI/CD 통합 - 새 풀 리퀘스트가 취약한 패키지를 다시 도입하거나 보안 강화 미들웨어를 비활성화하는 경우, Penligent.ai 병합 전에 알림을 트리거합니다.
- 런타임 모니터링 후크 - 경량 에이전트 또는 알림 로직을 통합하여 프로세스 스폰, 의심스러운 아웃바운드 연결 또는 기타 비정상적인 동작(예: 크립토마이닝, C2 호출)을 감지합니다.
간단히 말해 Penligent.ai 는 일회성 수정을 지속적인 보안 태세 유지코드가 변경되거나 종속성이 진화하거나 인적 오류가 발생하더라도 위험을 줄일 수 있습니다.
모범 사례 체크리스트 및 패치 후 강화 권장 사항
- 모든 RSC 및 Next.js 패키지를 즉시 패치하세요. - "다음 스프린트"를 기다리지 마세요.
- 아티팩트 정리 및 재구축 - 캐시된 빌드에 의존하지 마세요.
- 종속성 및 잠금 파일 감사 - 전이 종속성을 포함합니다.
- CI/CD 검사 또는 SBOM 적용 추가 - 취약한 패키지와의 블록 병합을 차단합니다.
- WAF 또는 엣지 레벨 필터링 사용 - 의심스러운 비행 프로토콜 게시물을 차단하거나 이의를 제기할 수 있습니다.
- 요청 입력 살균 - 가능한 경우 본문 크기 제한, 콘텐츠 유형 화이트리스트, JSON 스키마 유효성 검사를 시행합니다.
- 런타임 탐지/모니터링 배포 - 프로세스 스폰, 비정상적인 파일 또는 네트워크 활동을 포착합니다.
- 로그, 모니터링 및 알림 - 로그인, 배포 및 비정상적인 동작에 대한 감사 추적을 유지합니다.
- 프레임워크 변경 사항을 보안이 중요한 것으로 취급 - React와 같은 브라우저용 패키지라도 RSC가 포함되면 서버 보안에 영향을 미칠 수 있습니다.
- 자동화된 보안 도구 사용(예 Penligent.ai) - 종속성 검사, 회귀 탐지, 샌드박스 익스플로잇 시뮬레이션 및 보안 QA를 위한 것입니다.
최종 생각
React2Shell(CVE-2025-55182 / 66478)은 최신 웹앱 보안의 분수령이 된 사건입니다. 이 사건은 대규모 프레임워크, 심지어 주로 UI 렌더링과 관련된 프레임워크에도 치명적인 서버 측 보안 결함이 있을 수 있음을 보여줍니다. 개발자, DevOps 및 보안 팀: 이 문제를 이미 수천 건의 배포에 적용된 제로데이가 있습니다..
종속성 버전 패치는 가장 시급한 첫 번째 단계일 뿐입니다. 진정한 보안 태세를 갖추려면 강화, 입력 살균, 런타임 모니터링, WAF 또는 엣지 필터, 공급망 감사, 지속적인 보안 테스트 등 다층적인 방어가 필요합니다.
웹 애플리케이션을 구축, 유지 관리 또는 감사하거나 보안 툴을 개발 중이라면 지금이 공격자가 접근하기 전에 조치를 취해야 할 때입니다. 다음과 같은 도구로 Penligent.ai로 이동하여 "파이어 드릴 패치"에서 체계적이고 지속적인 자동화된 보안 보장 - 앱이 React2Shell 및 향후 역직렬화 위협에 대해 복원력이 있다는 것을 알고 밤에 더 편안하게 잠들 수 있습니다.

