🚨 React 19 μ‚¬μš©μž 필독! 취약점 뢄석 및 λŒ€μ‘

ν˜„λΉˆΒ·2026λ…„ 1μ›” 13일

κΈ°μˆ λ”ν•˜κΈ°

λͺ©λ‘ 보기
7/8

μ•ˆλ…•ν•˜μ„Έμš”! μ˜€λŠ˜μ€ 졜근 ν”„λ‘ νŠΈμ—”λ“œ μƒνƒœκ³„λ₯Ό 뜨겁게 달ꡰ React Server Components(RSC) κ΄€λ ¨ 치λͺ…적인 λ³΄μ•ˆ 취약점, CVE-2025-55182에 λŒ€ν•΄ 정리해 보렀고 ν•©λ‹ˆλ‹€.

React 19 및 Next.js App Routerλ₯Ό μ‚¬μš©ν•˜κ³  계신닀면 이 글을 κΌ­ ν™•μΈν•˜μ‹œκ³ , μ¦‰μ‹œ μ—…λ°μ΄νŠΈν•˜μ‹œκΈΈ ꢌμž₯ν•©λ‹ˆλ‹€.


🚨 CVE-2025-55182?

2025λ…„ 12μ›” 초, React Server Components(RSC) κ΅¬ν˜„μ²΄μ—μ„œ 치λͺ…적인 원격 μ½”λ“œ μ‹€ν–‰(RCE) 취약점이 λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • CVE ID: CVE-2025-55182
  • 별칭: React2Shell
  • 심각도: Critical (CVSS 10.0 / 10.0)
  • 영ν–₯ λ²”μœ„: React 19.0.0 ~ 19.2.0 버전을 μ‚¬μš©ν•˜λŠ” RSC ν™˜κ²½

이 취약점은 해컀가 인증 절차 없이 단 ν•˜λ‚˜μ˜ HTTP μš”μ²­λ§ŒμœΌλ‘œ μ„œλ²„μ—μ„œ μž„μ˜μ˜ μ½”λ“œλ₯Ό μ‹€ν–‰ν•  수 있게 λ§Œλ“­λ‹ˆλ‹€. 이미 μ•Όμƒμ—μ„œ λžœμ„¬μ›¨μ–΄ 배포 등에 μ•…μš©λœ 사둀가 λ³΄κ³ λ˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ› 상세 λ‚΄μš©

이 λ¬Έμ œλŠ” React Server Componentsκ°€ ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° 받은 μš”μ²­μ„ μ²˜λ¦¬ν•  λ•Œ, 데이터 역직렬화(Deserialization) κ³Όμ •μ—μ„œ λ°œμƒν•©λ‹ˆλ‹€.

ꡬ체적으둜 react-server-dom-webpack, react-server-dom-turbopack λ“±μ˜ νŒ¨ν‚€μ§€κ°€ νŽ˜μ΄λ‘œλ“œ 검증을 μ œλŒ€λ‘œ μˆ˜ν–‰ν•˜μ§€ μ•Šμ•„, κ³΅κ²©μžκ°€ μ‘°μž‘λœ 데이터λ₯Ό 보내면 μ„œλ²„ λ‚΄λΆ€ λ‘œμ§μ„ μ˜€μ—Όμ‹œν‚€κ³  μž„μ˜μ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œλ₯Ό μ‹€ν–‰ν•  수 있게 λ©λ‹ˆλ‹€.

영ν–₯λ°›λŠ” 버전

λ‹€μŒ λ²„μ „μ˜ Reactλ₯Ό μ‚¬μš© 쀑이라면 μœ„ν—˜ν•©λ‹ˆλ‹€.

  • 19.0.0
  • 19.1.0, 19.1.1
  • 19.2.0

특히 Next.js (App Router) 와 같이 RSCλ₯Ό 기본적으둜 μ‚¬μš©ν•˜λŠ” ν”„λ ˆμž„μ›Œν¬κ°€ 주된 νƒ€κ²Ÿμ΄ λ©λ‹ˆλ‹€.

πŸ›‘οΈ λŒ€μ‘ 방법

λ‹€ν–‰νžˆ React νŒ€μ—μ„œ λΉ λ₯΄κ²Œ 패치λ₯Ό λ°°ν¬ν–ˆμŠ΅λ‹ˆλ‹€. κ°€μž₯ ν™•μ‹€ν•˜κ³  μœ μΌν•œ 해결책은 버전을 μ˜¬λ¦¬λŠ” κ²ƒμž…λ‹ˆλ‹€.

1. μ¦‰μ‹œ μ—…λ°μ΄νŠΈ (ꢌμž₯)

μ‚¬μš© 쀑인 νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €μ— 맞좰 react와 react-dom을 μ΅œμ‹  패치 버전(19.2.1 이상)으둜 μ—…λ°μ΄νŠΈν•˜μ„Έμš”.

npm

npm install react@latest react-dom@latest

yarn

yarn upgrade react react-dom

pnpm

pnpm upgrade react react-dom

2. 버전 확인

μ—…λ°μ΄νŠΈ ν›„, package.jsonμ΄λ‚˜ 락 νŒŒμΌμ—μ„œ 버전이 19.2.1 (λ˜λŠ” 19.0.1, 19.1.2) 이상인지 κΌ­ 확인해 μ£Όμ„Έμš”.

πŸ“ 마치며

ν”„λ‘ νŠΈμ—”λ“œ μ˜μ—­, 특히 μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§(SSR)κ³Ό RSCκ°€ λ³΄νŽΈν™”λ˜λ©΄μ„œ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλ„ μ„œλ²„ λ³΄μ•ˆμ— λŒ€ν•΄ 더 λ―Όκ°ν•˜κ²Œ λ°˜μ‘ν•΄μ•Ό ν•  μ‹œμ μΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

우리 ν”„λ‘œμ νŠΈλ„ 확인해 λ³΄λ‹ˆ 19.2.0을 μ‚¬μš© 쀑이라 μ‹κ²ν•΄μ„œ λ°”λ‘œ μ—…λ°μ΄νŠΈλ₯Ό μ§„ν–‰ν–ˆλ„€μš”. πŸ˜… μ—¬λŸ¬λΆ„μ˜ ν”„λ‘œμ νŠΈλ„ μ§€κΈˆ λ°”λ‘œ 확인해 λ³΄μ„Έμš”!


Reference

  • NVD - CVE-2025-55182
  • React 곡식 λΈ”λ‘œκ·Έ 및 λ³΄μ•ˆ ꢌ고 사항
profile
FE = ν˜„λΉˆ

0개의 λŒ“κΈ€