Loạt lỗ hổng trong React Server Components đang bị khai thác diện rộng

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
124
1.546 bài viết
Loạt lỗ hổng trong React Server Components đang bị khai thác diện rộng
Các lỗ hổng nghiêm trọng trong React Server Components (RSC) đang bị khai thác theo nhiều hướng khác nhau, cho thấy bề mặt tấn công của hệ sinh thái React phía server ngày càng mở rộng và khó kiểm soát. Đáng chú ý, trong khi một lỗ hổng nhanh chóng bị vũ khí hóa để thực thi mã từ xa và phát tán mã độc, những lỗ hổng khác lại bị tận dụng để tấn công từ chối dịch vụ, xuất phát từ các bản vá chưa được hoàn thiện triệt để.
react.png

React2Shell: từ lỗ hổng RCE đến chiến dịch phát tán botnet​

Theo các nhà phân tích bảo mật, tin tặc đã bắt đầu khai thác lỗ hổng CVE-2025-55182, còn được gọi là React2Shell, nhắm vào nhiều doanh nghiệp trong lĩnh vực bảo hiểm, thương mại điện tử và công nghệ thông tin.

CVE-2025-55182 nằm trong Flight protocol, cơ chế xử lý giao tiếp client–server của React Server Components. Nguyên nhân bắt nguồn từ insecure deserialization, khi máy chủ chấp nhận và xử lý dữ liệu do client gửi lên mà không thực hiện kiểm tra đầy đủ. Từ đó, kẻ tấn công có thể thực thi mã trái phép ngay trên server.
Thực tế cho thấy các chiến dịch khai thác React2Shell diễn ra với tốc độ và mức độ hoàn thiện đáng chú ý. Chỉ trong thời gian rất ngắn sau khi lỗ hổng được công bố, tin tặc đã nhanh chóng tích hợp React2Shell vào các chuỗi tấn công thực tế, thay vì dừng lại ở thử nghiệm hay proof-of-concept. Các cuộc tấn công ghi nhận việc triển khai XMRig miner nhằm chiếm dụng tài nguyên máy chủ, song song với việc phát tán nhiều botnet và công cụ điều khiển từ xa khác nhau.

1769584922284.png

Script dùng để phân phối mã độc tương ứng với từng kiến trúc hệ thống (Nguồn: Medium)
Tại Nga, các chiến dịch nhắm vào hạ tầng doanh nghiệp ghi nhận sự xuất hiện của RustoBot và Kaiji botnet – những mã độc chuyên phục vụ tấn công DDoS và mở rộng quyền kiểm soát trong hệ thống. Trong khi đó, ở các khu vực khác, tin tặc lựa chọn các công cụ linh hoạt hơn như CrossC2 (Cobalt Strike), Tactical RMM, VShell backdoor và EtherRAT, cho phép duy trì quyền truy cập lâu dài và thực hiện nhiều hoạt động hậu khai thác khác nhau. Sự đa dạng này cho thấy React2Shell không bị giới hạn trong một kịch bản tấn công cố định, mà đang được khai thác theo nhiều mục tiêu và chiến lược khác nhau.

Chuỗi tấn công thường bắt đầu bằng việc thực thi lệnh bên trong container hoặc môi trường server đã bị xâm nhập thông qua React Server Components. Từ điểm bám ban đầu này, tin tặc tải về các script Bash từ máy chủ bên ngoài để tự động hóa quá trình triển khai payload, đồng thời lựa chọn mã độc phù hợp với kiến trúc hệ thống. Nhiều mẫu mã độc sau đó thiết lập cơ chế tồn tại dai dẳng thông qua systemd service, cron job hoặc cơ chế autostart, thậm chí chỉnh sửa trực tiếp các file cấu hình người dùng như .bashrc và .profile nhằm tái kích hoạt sau mỗi lần khởi động.

Đáng chú ý, một số biến thể như EtherRAT còn sử dụng phương thức điều khiển tinh vi hơn khi truy xuất địa chỉ máy chủ C2 từ smart contract trên blockchain Ethereum. Cách tiếp cận này khiến việc chặn kết nối hoặc vô hiệu hóa hạ tầng điều khiển trở nên khó khăn hơn đáng kể so với các mô hình C2 truyền thống, đồng thời phản ánh xu hướng gia tăng mức độ phức tạp trong các chiến dịch khai thác nhắm vào hệ sinh thái React phía server.

DoS trong React Server Components: hệ quả của bản vá chưa trọn vẹn​

Song song với các chiến dịch khai thác RCE, giới nghiên cứu cũng phát hiện một nhóm lỗ hổng DoS trong React Server Components hiện được gộp và theo dõi dưới mã CVE-2026-23864 với điểm CVSS 7.5.
1769585238622.png

Những lỗ hổng này ảnh hưởng đến ba gói npm cốt lõi gồm react-server-dom-webpack, react-server-dom-parcel và react-server-dom-turbopack. Nguyên nhân chủ yếu xuất phát từ việc các bản vá trước đó chưa xử lý triệt để, tạo điều kiện cho các đường khai thác mới lộ diện trong quá trình kiểm thử lại.

Thông qua việc gửi các HTTP request được tạo đặc biệt tới Server Function endpoint, kẻ tấn công có thể khiến tiến trình bị crash, gây lỗi out-of-memory hoặc đẩy mức sử dụng CPU tăng đột biến, qua đó làm gián đoạn hoặc tê liệt dịch vụ. Mức độ ảnh hưởng phụ thuộc vào cấu hình triển khai, logic ứng dụng và đường thực thi cụ thể bị kích hoạt.

Các framework và công cụ xây dựng sử dụng React Server Components như Next.js, React Router, Waku, @parcel/rsc, @vite/rsc-plugin và rwsdk đều có nguy cơ bị ảnh hưởng nếu chưa được cập nhật đầy đủ. Mô hình này được giới chuyên gia đánh giá là quen thuộc trong quá trình xử lý lỗ hổng nghiêm trọng, tương tự giai đoạn hậu Log4Shell, khi các bản vá liên tục bị rà soát và tìm cách bypass.​

Vá là điều kiện cần, nhưng chưa đủ​

Meta đã phát hành các bản vá cho cả hai nhóm lỗ hổng. Tuy nhiên, các chuyên gia nhấn mạnh rằng việc cập nhật phiên bản chỉ là bước khởi đầu. Với React2Shell, các tổ chức cần chủ động kiểm tra dấu hiệu xâm nhập và hoạt động hậu khai thác, bởi nhiều chiến dịch đã cài cắm mã độc cùng cơ chế tồn tại lâu dài trong hệ thống.

Bên cạnh việc cập nhật các phiên bản đã vá, nhà phát triển được khuyến nghị:​
  • Rà soát dependency và lock file để đảm bảo các gói dễ tổn thương đã được loại bỏ​
  • Rebuild dự án sau khi cập nhật​
  • Đánh giá lại việc sử dụng React Server Components, đặc biệt là các tính năng experimental trong môi trường production​
Chuỗi sự cố lần này cho thấy React Server Components đang dần trở thành điểm nóng mới cho cả tấn công khai thác mã độc lẫn tấn công làm gián đoạn dịch vụ. Đây cũng là lời nhắc rõ ràng rằng bề mặt tấn công phía server của các framework frontend hiện đại đang lớn và phức tạp hơn nhiều so với những gì không ít đội ngũ phát triển vẫn nghĩ.
Tổng hợp
 
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-2026-23864 dos react server components react2shell
Bên trên