본문 바로가기
FrontEnd ✨/❄️ React

[기사] 🚨 React 보안 이슈 - RSC 보안 취약점 발생

by 뽀짜꼬 2025. 12. 10.
728x90
반응형

https://www.dailysecu.com/news/articleView.html?idxno=203063

[긴급] React·Next.js RSC서 인증 없는 원격 코드 실행 취약점…“패치 미적용 시 즉각 침해 가능”

 

[긴급] React·Next.js RSC서 인증 없는 원격 코드 실행 취약점…“패치 미적용 시 즉각 침해 가능” -

리액트 서버 컴포넌트(React Server Components, RSC)에서 인증 없이 원격 코드 실행이 가능한 중대한 보안 취약점이 공개됐다. 전 세계 웹 애

www.dailysecu.com


4일 전 이런 기사를 봤다. 리액트에 취약점이라니?

그리고 4일이 지난 지금, 중국에서 정말 해킹을 시도하고 있다는 기사를 접했다.

한국에서도 많은 서비스가 리액트와 Next.js로 구현된것으로 알고 있는데

이렇게 전 세계적으로 널리 퍼져있는 라이브러리도 취약점이 존재한다니 놀라울 따름이었다.

 

나도 배포중인 자그마한 서비스가 있기에, 버전과 취약점들을 확인해보았다.

 

-

 

기사에서 제시한 패치 권장 버전은 아래와 같다.

 

-React 서버 패키지는 19.0.1, 19.1.2, 19.2.1로 업데이트

-Next.js는 15.0.5 이상 또는 16.0.7 적용

-RSC 기반으로 동작하는 기타 프레임워크도 패치 여부 확인

출처 : 데일리시큐(https://www.dailysecu.com)

 

-

 

그리고 이 취약점은 React Server Components를 사용하는 애플리케이션에 영향을 미치므로,

아래와 같은 버전으로 업데이트 하는것을 권장한다.

 

  • react-server-dom-webpack: 19.0.1, 19.1.2, 또는 19.2.1 이상
  • react-server-dom-parcel: 19.0.1, 19.1.2, 또는 19.2.1 이상
  • react-server-dom-turbopack: 19.0.1, 19.1.2, 또는 19.2.1 이상

 

 

확인해본 결과 배포중인 서비스의 리액트 버전은 다행히 19.2.1이어서 업데이트 할 필요가 없었다.

그리고 우리는 RSC를 사용하는 프로젝트가 아니었기에.. 다행이었다고 할 수 있으려나...

다만 react-router-dom이 7.6.0 버전이라 취약점이 존재할 수 있어 7.6.1로 업데이트 해주었다.

(이번에 발표된 내용은 아니지만)

 

-

 

원인은 리액트 서버 컴포넌트에서 사용하는 플라이트 프로토콜이라는 데이터 전달 방식에 문제가 있기 때문이다.

리액트가 서버로 전달되는 RSC 페이로드를 처리하는 방식이다. 

이 프로토콜은 '서버가 생성한 정상 데이터만 클라이언트로 전달된다' 는 전제를 바탕으로 설계되었다.

그러나 정상적인 처리 과정에서 객체 구조를 검증해야 하는데, 이 검증이 제대로 이루어지지 않으면서 

공격자가 조작한 페이로드가 서버 내부에서 그대로 실행되는 문제가 발생한것이다.

즉, 실제 환경에서는 서버가 사용자가 보낸 데이터를 코드처럼 실행해버리는 구조적 오류가 있었던 것이다.

 

RSC를 활용하는 모든 생태계 역시 위험에 노출될 수 있다.

Vite, Parcel, RedwoodJS, React Router RSC 프리뷰 버전 등이 대표적이다.

 즉, “리액트 기반 서버 렌더링”을 지원하는 어떤 도구든 잠재적으로 영향을 받을 가능성이 있다.

 


참고 기사

 

https://it.chosun.com/news/articleView.html?idxno=2023092152463

 

‘리액트’ 치명적 취약점, 수백만 웹서비스 위협… 한국도 공격 시도 포착

웹사이트 개발에 널리 사용되는 ‘리액트(React)’ 기술에서 치명적인 보안 취약점이 발견됐다. 서버에서 화면 일부를 미리 만들어 보내주는 ‘리액트 서버 컴포넌트(React Server Components)’ 구조에

it.chosun.com

728x90
반응형