React2Shell: Lỗ hổng nguy hiểm đe dọa gần một triệu máy chủ web React và Next.js

K
Kaya
Phản hồi: 0

Kaya

Writer
Một lỗ hổng bảo mật nguy hiểm vừa được phát hiện trong hai công nghệ web rất phổ biến là React và Next.js. Lỗ hổng có tên là React2Shell. Các nhà nghiên cứu đánh giá đây là một trong những lỗ hổng nghiêm trọng nhất trong nhiều năm trở lại đây, vì nó có thể cho phép hacker chiếm quyền điều khiển hoàn toàn máy chủ chạy website mà không cần tài khoản hay mật khẩu. Với việc hàng trăm nghìn website trên toàn cầu đang sử dụng React hoặc Next.js, sự cố đặt ra nguy cơ an ninh mạng rất lớn nếu không được vá kịp thời.

React và Next.js đang rất phổ biến trong phát triển website từ các trang nhỏ đến các dịch vụ lớn nên lỗ hổng này đặt ra nguy cơ an ninh mạng hết sức lớn, đặc biệt nếu chủ web không kịp vá.

React là một thư viện lập trình giao diện người dùng do Facebook phát triển. Nó giúp tạo nên các website hiện đại, hiển thị nhanh, mượt và có khả năng tương tác tốt. Khi bạn cuộn trang, nhấn nút, gõ dữ liệu hay mở một tính năng mà không phải tải lại cả trang, có khả năng cao website đó đang dùng React.

Từ nền tảng React, cộng đồng phát triển thêm Next.js, một framework mạnh hơn, kết hợp giữa giao diện và máy chủ xử lý dữ liệu. Nếu coi React là bộ “mặt tiền” của website, thì Next.js giống như “tòa nhà đầy đủ hệ thống điện nước”, giúp website hoạt động hoàn chỉnh, thông minh và an toàn hơn. Chính vì sự tiện lợi này, hàng triệu trang web, bao gồm cả dịch vụ thương mại điện tử và ứng dụng doanh nghiệp, đang vận hành bằng React và Next.js.
1764918596820.png
Nhiều website hiện đại không chỉ hiển thị giao diện trên trình duyệt người dùng mà còn để máy chủ “render” (xử lý) trước một phần giao diện, giúp trang tải nhanh hơn. Cơ chế này gọi là React Server Components (RSC).

Để RSC hoạt động, trình duyệt phải gửi một loại “dữ liệu đặc biệt” lên máy chủ, rồi máy chủ sẽ giải mã dữ liệu này để xử lý. Đây chính là điểm mà hacker tìm cách lợi dụng. Nếu có sai sót trong quá trình giải mã dữ liệu, kẻ tấn công có thể ép máy chủ thực thi những đoạn mã độc nằm trong dữ liệu giả mạo.

React2Shell – lỗ hổng cho phép hacker điều khiển máy chủ từ xa​

React2Shell là tên gọi của lỗ hổng deserialization nguy hiểm vừa được phát hiện trong cơ chế React Server Components. Lỗ hổng ảnh hưởng trực tiếp đến cách máy chủ của website đọc và xử lý dữ liệu từ người dùng.

Nghiêm trọng hơn, hacker không cần đăng nhập hay có tài khoản, chỉ cần gửi một yêu cầu HTTP được chế tạo đặc biệt đến website. Nếu website đang chạy phiên bản React hoặc Next.js có chứa lỗ hổng React2Shell, server sẽ tự động giải mã dữ liệu độc hại và vô tình chạy mã theo ý hacker.

Điều này đồng nghĩa với việc máy chủ có thể bị chiếm quyền điều khiển hoàn toàn. Hacker có khả năng cài mã độc, đánh cắp dữ liệu, thay đổi nội dung website hoặc sử dụng máy chủ để tấn công mục tiêu khác. Với số lượng máy chủ sử dụng React/Next.js được ước tính lên tới gần một triệu trên toàn cầu, mức độ ảnh hưởng là rất lớn.

Trang web nào có nguy cơ bị tấn công?

Lỗ hổng React2Shell ảnh hưởng đến các phiên bản React 19.x có sử dụng cơ chế server components, cũng như nhiều phiên bản Next.js từ 14.3 đến 16.x nếu chưa cập nhật bản vá.

Vấn đề nằm ở chỗ, nhiều website khi cài đặt React hoặc Next.js không biết rằng tính năng React Server Components đã được bật mặc định. Điều này khiến họ vô tình rơi vào nhóm có nguy cơ bị tấn công, ngay cả khi website không dùng đến tính năng nâng cao này.

Dù bạn không phải lập trình viên hay quản trị hệ thống, lỗ hổng React2Shell vẫn có thể ảnh hưởng trực tiếp đến bạn. Nhiều dịch vụ bạn sử dụng hàng ngày từ cửa hàng trực tuyến, diễn đàn, ứng dụng đặt lịch, đến các hệ thống doanh nghiệp đa phần đều đang được xây dựng bằng React hoặc Next.js.

Nếu máy chủ của họ bị tấn công, dữ liệu của bạn có thể bị đánh cắp, thay đổi hoặc bán ra ngoài. Ngoài ra, một website bị chiếm quyền có thể bị lợi dụng để phát tán mã độc, lừa đảo hoặc tấn công vào các hệ thống khác.

Khuyến nghị cho cá nhân, doanh nghiệp và quản trị website

Đối với lập trình viên và quản trị hệ thống:
  • Cập nhật React và Next.js lên phiên bản đã có bản vá ngay lập tức.
  • Kiểm tra lại toàn bộ mã nguồn và thư viện liên quan đến React Server Components.
  • Tạm thời vô hiệu hóa hoặc giới hạn RSC nếu chưa thể vá.
  • Triển khai tường lửa ứng dụng web (WAF) để chặn yêu cầu bất thường.
  • Theo dõi log máy chủ để phát hiện các yêu cầu lạ đến endpoint server functions.
Đối với người dùng phổ thông:
  • Chỉ truy cập các website uy tín, hạn chế nhập thông tin nhạy cảm khi website có dấu hiệu bất thường.
  • Cập nhật trình duyệt và thiết bị để giảm nguy cơ bị ảnh hưởng bởi các website bị chiếm quyền.
  • Nếu bạn dùng dịch vụ online quan trọng, hãy theo dõi thông báo từ nhà cung cấp về vấn đề bảo mật.
React2Shell là lời nhắc nhở rằng các công nghệ web hiện đại dù mạnh mẽ đến đâu vẫn luôn tiềm ẩn rủi ro bảo mật. Khi một nền tảng được sử dụng rộng rãi như React và Next.js gặp lỗ hổng, tác động lan rộng ra toàn bộ hệ sinh thái internet. Việc cập nhật và bảo trì thường xuyên không chỉ là trách nhiệm của lập trình viên mà còn ảnh hưởng trực tiếp đến an toàn dữ liệu của hàng triệu người dùng. Trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi, việc chủ động phòng ngừa và cập nhật là yếu tố sống còn.

Tìm hiểm thêm chi tiết tại đây
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly92bnJldmlldy52bi90aHJlYWRzL3JlYWN0MnNoZWxsLWxvLWhvbmctbmd1eS1oaWVtLWRlLWRvYS1nYW4tbW90LXRyaWV1LW1heS1jaHUtd2ViLXJlYWN0LXZhLW5leHQtanMuNzUxOTQv
Top