React vừa công bố một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trong React Server Components (RSC) - công nghệ nền tảng của nhiều ứng dụng web hiện đại với mã CVE-2025-55182 và đạt mức điểm CVSS 10. Lỗ hổng đã được đặt tên React2shell, chỉ cần một HTTP request đơn lẻ, cho phép kẻ tấn công thực thi mã tùy ý và chiếm toàn quyền kiểm soát máy chủ.

Tất cả các ứng dụng sử dụng RSC, bao gồm các framework phổ biến như Next.js, được khuyến cáo nâng cấp ngay lập tức để ngăn chặn nguy cơ bị tấn công.

1. Nguyên nhân và Mức độ nguy hiểm

Lỗ hổng xuất phát từ việc xử lý không an toàn các payload (gói dữ liệu) đến từ yêu cầu HTTP. Kẻ tấn công không cần xác thực (unauthenticated) có thể gửi request HTTP tạo thủ công tới máy chủ và thực thi mã độc

Các máy chủ sử dụng RSC hoặc các thư viện sau đều có nguy cơ cao bị tấn công:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

- Từ lỗ hổng trên kẻ tấn công có thể:

  • Thực thi mã JavaScript tùy ý trên máy chủ với toàn bộ đặc quyền của tiến trình Node.js
  • Chiếm quyền điều khiển server, cài mã độc hoặc mở backdoor
  • Đánh cắp dữ liệu, phá hoại hệ thống hoặc mở rộng tấn công sang các dịch vụ khác trong nội bộ
  • Tấn công từ xa và trên quy mô lớn do nhiều framework tích hợp RSC như Next.js App Router để rò rỉ endpoint Flight phơi nhiễm ra Internet.

- Dấu hiệu nhận biết:

  • CPU luôn 100%
  • Xuất hiện malware đào coin
  • Máy chủ tham gia botnet Mirai
  • Log chứa nhiều request lạ từ IP bất thường
  • Dịch vụ chậm bất thường, VPS bị khóa do “abuse traffic”

2. Các phiên bản bị ảnh hưởng và bản vá bảo mật

React đã phát hành bản sửa lỗi cho các gói RSC bị ảnh hưởng:

  • Các bản gây lỗi: 19.0, 19.1.0, 19.1.1, 19.2.0
  • Các bản đã vá: 19.0.1, 19.1.2, 19.2.1

Next.js App Router cũng chịu ảnh hưởng và đã phát hành bản vá cho tất cả nhánh phiên bản liên quan:

  • Phiên bản bị ảnh hưởng: từ 14.3.0-canary.77 trở lên, gồm toàn bộ nhánh 15 và 16
  • Phiên bản đã vá: 16.0.7, 15.5.7, 15.4.8, 15.3.6, 15.2.6, 15.1.9, 15.0.5

- Cập nhật bản vá lỗi

Các gói liên quan đến React

npm install react@19.2.1 react-dom@19.2.1

hoặc

yarn upgrade react@19.2.1 react-dom@19.2.1

Các gói next.js

npm install next@15.0.5   # for 15.0.x
npm install next@15.1.9   # for 15.1.x
npm install next@15.2.6   # for 15.2.x
npm install next@15.3.6   # for 15.3.x
npm install next@15.4.8   # for 15.4.x
npm install next@15.5.7   # for 15.5.x
npm install next@16.0.7   # for 16.0.x

npm install next@15.6.0-canary.58   # for 15.x canary releases
npm install next@16.1.0-canary.12   # for 16.x canary releases

Nếu bạn đang sử dụng Next.js 14.3.0-canary.77 hoặc phiên bản canary mới hơn, hãy hạ cấp xuống phiên bản ổn định 14.x mới nhất

npm install next@14

Thông tin chi tiết tham khảo:

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components 

https://nextjs.org/blog/CVE-2025-66478 

3. Hướng xử lý và khắc phục

Nếu máy chủ của bạn đã bị chiếm quyền và cài mã độc bạn cần thực hiện các bước sau:

  1. Backup dữ liệu: Backup lại toàn bộ các dữ liệu quan trọng (sourch code, database, file cấu hình sạch) và tải về máy cá nhận
  2. Cài lại máy chủ: Thực hiện cài lại máy chủ về như mới và đổi lại mật khẩu các tài khoản để đảm bảo sạch mã độc.
  3. Cập nhật bản vá: Cài lại các ứng dụng đúng phiên bản đã được vá trước khi upload lại dữ liệu lên máy chủ.

4. Công cụ tìm kiếm và kiểm tra lỗ hổng tại iNET

Bạn có thể tham khảo hướng dẫn sau để quét máy chủ:

https://helpdesk.inet.vn/blog/huong-dan-su-dung-cong-cu-tim-kiem-va-kiem-tra-lo-hong-react2shell 

React2Shell là mối đe dọa ở mức cực kỳ nghiêm trọng, ảnh hưởng trực tiếp đến hệ thống ứng dụng và dữ liệu doanh nghiệp. Trì hoãn việc nâng cấp không phải là lựa chọn, không có cách đi vòng nào bạn cần nâng cấp bản vá ngay để đảm bảo an toàn dữ liệu và bảo mật.