Lỗ hổng “React2Shell” đe dọa gần một triệu máy chủ web React và Next.js toàn cầu

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
122
1.390 bài viết
Lỗ hổng “React2Shell” đe dọa gần một triệu máy chủ web React và Next.js toàn cầu
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, cho phép kẻ tấn công thực thi mã độc từ xa mà không cần đăng nhập. Phát hiện này gây chấn động cộng đồng phát triển bởi React và Next.js đang được sử dụng phổ biến trong vô số dịch vụ trực tuyến.

1. Nguyên nhân xuất hiện lỗ hổng

Theo nhóm phát triển React, lỗ hổng bắt nguồn từ cách React giải mã (decode) và giải tuần tự hóa (deserialization) các payload gửi đến Server Function endpoints trong giao thức React Flight. Quá trình xử lý này chứa lỗi logic khiến máy chủ tin tưởng dữ liệu đầu vào mà không kiểm tra đầy đủ. Khi React tiếp nhận một payload độc hại, dữ liệu này có thể ảnh hưởng trực tiếp đến luồng thực thi bên server.

Các nhà nghiên cứu bảo mật bổ sung rằng lỗi nằm trong hàm requireModule thuộc gói react-server-dom-webpack. Hàm này chịu trách nhiệm tải và thực thi các hàm được gọi từ phía client nhưng do xử lý payload không an toàn nên đã mở ra lỗ hổng cho RCE.

Hãy tạo ảnh theo chủ đề này, k có text, chỉ có hình ảnh vị tí trung tâm, ảnh ngang.png

2. Mức độ nguy hiểm

Do lỗ hổng không yêu cầu xác thực và có thể bị khai thác chỉ bằng một HTTP request được tạo thủ công, 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.
Thống kê của công ty Wiz cho thấy 39% môi trường cloud đang dùng phiên bản dễ bị khai thác, trong khi Palo Alto Networks phát hiện hơn 968.000 máy chủ React/Next.js đang phơi nhiễm, tạo ra một bề mặt tấn công khá lớn.

3. Bản vá và các phiên bản đã khắc phục

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
Nhiều thư viện tích hợp RSC như Vite plugin, Parcel plugin, React Router RSC preview, RedwoodJS, Waku… cũng có nguy cơ bị ảnh hưởng và đang triển khai các bản vá tương ứng.

4. Khuyến cáo

Các chuyên gia khuyến cáo các tổ chức cần nhanh chóng cập nhật React và Next.js lên các phiên bản đã vá, đồng thời triển khai Web Application Firewall (WAF) để lọc các payload bất thường, trong bối cảnh các nhà cung cấp như Cloudflare, AWS, Akamai, Fastly và Google Cloud đã bổ sung quy tắc bảo vệ cho CVE-2025-55182.

Bên cạnh đó, việc giám sát log HTTP nhằm phát hiện các yêu cầu khả nghi gửi tới Server Function endpoints và tạm thời hạn chế truy cập mạng vào các dịch vụ chưa thể nâng cấp cũng là biện pháp cần thiết. Việc áp dụng bản vá chính thức được xem là yêu cầu bắt buộc bởi lỗ hổng có thể bị khai thác trực tiếp trên các cấu hình mặc định mà không cần bất kỳ điều kiện đặc biệt nào.

WhiteHat
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2025-55182 cve-2025-66478 react flight react server components react server function
Bên trên