React Server Components RCE (CVE-2025-55182) 완화하기
Source: Dev.to
React Server Components (RSC)는 최근 고위험 원격 코드 실행 취약점(CVE‑2025‑55182)의 영향을 받는 것으로 밝혀졌습니다.
공격자는 Next.js Server Actions와 같은 기능을 악용해 Flight 프로토콜에 악의적인 직렬화 데이터를 조작할 수 있으며, 이는 역직렬화 결함을 일으켜 서버에서 원격 코드 실행으로 이어질 수 있습니다.
CVE‑2025‑55182란?
React Server Components (RSC) 에는 원격 코드 실행을 초래할 수 있는 고위험 역직렬화 결함이 존재합니다.
영향을 받는 환경에서는 공격자가 다음을 수행할 수 있습니다:
- React Flight 프로토콜에 악의적인 직렬화 페이로드를 제작
- Next.js Server Actions(
"use server")를 악용 - 안전하지 않은 역직렬화 로직을 트리거
결과: 서버에서 임의 코드 실행.
RSC와 Server Actions가 신뢰할 수 없는 입력에 노출되는 모든 지점이 공격 표면이 됩니다.
우선순위 1: 식별 및 패치 (주요 완화 조치)
가장 중요한 완화 방법은 식별 및 업그레이드입니다. WAF 규칙이 도움이 될 수는 있지만 근본 원인을 해결하는 것을 대체하지는 못합니다.
영향을 받았는지 확인하는 방법
다음 항목 대부분 또는 전체가 해당된다면 영향을 받았을 가능성이 높습니다:
- Next.js를 사용 중이며, 특히 v13.4 이상
- 애플리케이션이 React Server Components를 사용
- 코드베이스에
"use server"지시문(서버 액션)이 포함
중요한 참고 사항
취약한 패키지(react-server-dom-webpack)는 보통 Next.js에 내부적으로 번들됩니다.package.json에 나타나지 않을 수 있으니, 직접 의존성이 없다고 해서 안전하다고 가정하지 마세요.
업그레이드 권고
즉시 최신 보안 패치가 적용된 Next.js 버전으로 업그레이드하십시오.
작성 시점 기준으로는 다음을 의미합니다:
- Next.js 14.x의 패치 릴리스, 혹은
- Next.js 15.x 이상의 고정 버전
React 팀은 악의적인 Thenable 객체의 안전하지 않은 파싱을 수정함으로써 역직렬화 취약점의 근본 원인을 해결했습니다.
이것이 유일한 완전한 해결책입니다.
그 외의 모든 조치는 일시적인 위험 감소 조치로 간주해야 합니다.
우선순위 2: SafeLine을 이용한 WAF‑레벨 완화
즉시 업그레이드가 불가능한 경우(예: 릴리즈 동결, 레거시 의존성) WAF 레벨에서 방어층을 추가할 수 있습니다. 이는 취약점을 제거하지는 않지만, 알려진 공격 패턴을 차단하는 데 도움이 됩니다.
예시: SafeLine 커스텀 차단 규칙
SafeLine WAF에서 다음 조건을 갖는 커스텀 차단 규칙을 설정합니다:
요청 헤더
Content-Type이 (정규식) multipart와 일치
그리고
요청 본문
정규식 매치: [’”]?then[’”]?\s*:\s*[’”]?$1:proto:then

이 규칙은 직렬화 데이터에서 Thenable 구조를 악용하려는 RSC 역직렬화 로직 공격 페이로드를 차단하는 것을 목표로 합니다.
이 규칙이 하는 일 (및 하지 않는 일)
-
✅ 알려진 공격 서명을 차단하는 데 도움
-
✅ 패치 적용 기간 동안 노출을 감소
-
❌ 새로운 혹은 난독화된 페이로드에 대한 보호를 보장하지 않음
-
❌ Next.js 업그레이드를 대체하지 않음
이를 시트벨트에 비유하면, 치료제가 아니라 보조 안전장치입니다.
결론
- Next.js + RSC + Server Actions를 사용한다면, 입증될 때까지 노출된 것으로 가정하세요.
- 업그레이드는 선택이 아닌 필수입니다.
- SafeLine과 같은 WAF 규칙은 깊이 있는 방어 차원에서, 특히 전환 기간 동안에 가장 효과적입니다.
잘 구성된 WAF는 귀중한 시간을 벌어줄 수 있지만, 애플리케이션 레이어의 취약점은 경계만으로 완전히 해결될 수 없습니다.