Bảo mật

Next.js GHSA-673q: lỗi RCE trong use cache cần vá ngay

Cảnh báo mức nghiêm trọng 9,5 ảnh hưởng Next.js 16.0.0–16.4.0 trong một điều kiện Cache Components cụ thể. Đội phát triển cần nâng lên 16.4.1 và rà triển khai.

thuemaychu.vn
Minh họa ứng dụng Next.js trong vùng bảo vệ trước các khối dữ liệu nhị phân độc hại

Một ứng dụng Next.js chạy trên VPS thường có quyền đọc biến môi trường, kết nối cơ sở dữ liệu và ghi vào hệ thống tệp. Vì vậy, lỗi cho phép thực thi mã từ xa không chỉ ảnh hưởng trang web mà còn có thể mở đường tới khóa API và dữ liệu phía sau. Ngày 22/10/2026, GitHub Advisory Database công bố bản đã duyệt của GHSA-673q-mjm6-r5xr cho Next.js.

Sự kiện mới là gì?

Cảnh báo GitHub ghi nhận upstream công bố ngày 14/10, nhưng được GitHub Advisory Database xuất bản, duyệt và cập nhật ngày 22/10/2026. Đây là lỗi đã có từ trước được đưa vào cơ sở dữ liệu ngày 22, không phải lỗ hổng vừa xuất hiện trong mã cùng ngày.

Lỗi được xếp mức Critical, CVSS v4 là 9,5. Phạm vi xác nhận là gói next từ 16.0.0 đến 16.4.0; bản đã sửa là 16.4.1. Ứng dụng cần dùng App Router với Cache Components và có hàm use cache trả về nhiều typed array — mảng nhị phân có kiểu như Uint8Array — thì mới đáp ứng điều kiện khai thác được mô tả.

Điều kiện ảnh hưởng cần đọc đúng

Phân loại nhanh môi trường Next.js
Tình huốngĐánh giá ban đầuHành động
Next.js 16.0.0–16.4.0, App Router, Cache ComponentsThuộc dải bị ảnh hưởngNâng lên 16.4.1 ngay
Có use cache trả nhiều typed arrayKhớp điều kiện cụ thểƯu tiên cao, cô lập nếu chưa thể vá
Next.js 15 hoặc cũ hơnKhông thuộc dải advisory nàyVẫn kiểm tra advisory khác
Đã dùng Next.js 16.4.1Bản vá được nêuXác minh image và tiến trình thật đã đổi

GitHub cho biết không có biện pháp giảm thiểu đã biết cho ứng dụng có kiểu hàm bị ảnh hưởng và khuyến nghị nâng cấp ngay, kể cả khi chưa tìm thấy hàm tương tự. Cảnh báo không công bố bằng chứng lỗ hổng đang bị khai thác thực tế, vì vậy không nên khẳng định máy chủ đã bị xâm nhập chỉ vì chạy phiên bản cũ.

Checklist cho đội phát triển và vận hành

  1. Xác định phiên bản thật trong file khóa và container bằng npm ls next hoặc lệnh tương đương của trình quản lý gói.
  2. Tìm cấu hình Cache Components cùng các hàm use cache; ghi nhận hàm nào trả Uint8Array, ArrayBuffer hoặc nhiều typed array.
  3. Tạo nhánh cập nhật lên Next.js 16.4.1, cài lại phụ thuộc từ file khóa và chạy kiểm thử App Router, cache, tải tệp cùng API.
  4. Build image mới không dùng cache cũ; kiểm tra digest image và phiên bản trong tiến trình đang phục vụ khách hàng.
  5. Luân chuyển khóa truy cập nếu log hoặc chỉ báo cho thấy tiến trình từng thực thi lệnh lạ; không luân chuyển hàng loạt khi chưa có căn cứ.
  6. Rà log tiến trình, thay đổi tệp, tiến trình con và kết nối ra ngoài; lưu bằng chứng trước khi dọn nếu có dấu hiệu bất thường.

WAF có thể giảm một phần lưu lượng đáng ngờ nhưng không thay thế bản vá. Lỗi thuộc nhóm giải tuần tự hóa dữ liệu không đáng tin; một quy tắc HTTP tổng quát khó đảm bảo chặn mọi biến thể mà không làm hỏng yêu cầu hợp lệ.

Ảnh hưởng với ứng dụng tự host tại Việt Nam

Ứng dụng tự host trên VPS hoặc Kubernetes cần kiểm tra cả kho mã lẫn artifact đang chạy. Nâng package.json nhưng không build lại image sẽ không thay đổi tiến trình. Với nhiều replica, nên cập nhật từng nhóm, kiểm tra lỗi 5xx, cache hit và thời gian phản hồi rồi mới mở rộng.

Nếu ứng dụng chạy cùng tài khoản với dịch vụ khác, hãy tách quyền hệ điều hành, giới hạn biến môi trường và mạng ra ngoài. Các lớp này không chữa lỗ hổng nhưng giảm phạm vi thiệt hại nếu một tiến trình web bị chiếm quyền.

Câu hỏi thường gặp

GHSA-673q có mã CVE chưa?

Tại thời điểm cảnh báo được đọc, GitHub ghi “No known CVE” và dùng mã GHSA-673q-mjm6-r5xr.

Không dùng typed array có cần nâng cấp không?

Có. GitHub khuyến nghị nâng ngay cả khi ứng dụng không có hàm tương tự, vì bản 16.4.1 là bản đã sửa được xác nhận.

Có bằng chứng khai thác thực tế không?

Cảnh báo không nêu bằng chứng khai thác thực tế. Hãy vá và rà dấu hiệu thay vì kết luận máy chủ đã bị tấn công.

Nguồn tham khảo

GitHub Advisory Database: GHSA-673q-mjm6-r5xr, cập nhật ngày 22/10/2026; bản đã sửa Next.js 16.4.1.

Bước tiếp theo

Đội Next.js nên chuẩn bị phiên bản ứng dụng, file khóa, cách triển khai và cửa sổ bảo trì. Gửi các thông tin đã che khóa bí mật qua trang Thuê Cloud VPS để trao đổi cấu hình kiểm thử và phương án triển khai lại; không cần nâng CPU hoặc RAM nếu nút thắt chỉ là cập nhật phần mềm.

Cần máy chủ cho workload này?

NOC thuemaychu.vn hỗ trợ chọn CPU, GPU và băng thông. PoC trong 24 giờ.

Bài viết liên quan

Xem tất cả bài viết
GọiFBZaloSalesZaloOA