Mô tả
Next.js phát hành bản vá ngoài chu kỳ khắc phục ba lỗ hổng được công bố ngày 14/10/2026: hai lỗ hổng RCE không cần xác thực và một lỗ hổng DoS. Lỗ hổng GHSA-673q-mjm6-r5xr xảy ra khi ứng dụng App Router dùng Cache Components có hàm use cache trả về nhiều typed array, cho phép kẻ tấn công thực thi mã từ xa. Lỗ hổng CVE-2026-96889 xuất phát từ lỗi bộ nhớ trong thư viện upstream xử lý ảnh (librsvg, được Next.js sử dụng thông qua sharp) khi Image Optimization API xử lý tệp SVG trên Linux dùng glibc, có thể dẫn đến RCE. Lỗ hổng GHSA-p3m5-59mp-jv5r cho phép gửi các yêu cầu được thiết kế đặc biệt tới Server Actions của App Router để gây tiêu thụ CPU quá mức, khiến tiến trình không xử lý được các yêu cầu tiếp theo.
- CVSS Score: 9.5 (CVSS v4.0, highest of the three)
- Severity: Critical
- GHSA-673q-mjm6-r5xr (RCE, use cache): 9.5 - Critical
- CVE-2026-96889 / GHSA-2464-fhr4-w9xw (RCE, Image Optimization with SVG): 9.5 - Critical
- GHSA-p3m5-59mp-jv5r (DoS, Server Actions): 8.2 - High
Phạm vi ảnh hưởng
Các lỗ hổng ảnh hưởng đến Next.js (gói npm next). System Administrator cần rà soát phiên bản, tính năng đang sử dụng và thực hiện nâng cấp ngay lập tức. Phạm vi ảnh hưởng theo từng lỗ hổng:
- GHSA-673q-mjm6-r5xr (RCE - use cache): Next.js 16.0.0 đến 16.4.0, ứng dụng App Router dùng Cache Components có hàm use cache trả về nhiều typed array. Cần nâng cấp lên 16.4.1.
- CVE-2026-96889 (RCE - xử lý SVG): Next.js 10.0.0 đến 15.5.27 và 16.0.0 đến 16.4.0, chạy trên Linux dùng glibc. Cần nâng cấp lên 15.5.28 hoặc 16.4.1 (kèm sharp 0.35.5 trở lên).
- GHSA-p3m5-59mp-jv5r (DoS - Server Actions): Next.js 13.0.0 đến 15.5.27 và 16.0.0 đến 16.4.0, ứng dụng App Router có sử dụng Server Actions. Cần nâng cấp lên 15.5.28 hoặc 16.4.1.
Lưu ý: Hai lỗ hổng GHSA-673q-mjm6-r5xr và GHSA-p3m5-59mp-jv5r hiện chưa có CVE ID nên một số công cụ quét như npm audit có thể chưa phát hiện được.
Tác động
Các lỗ hổng khai thác thành công có thể dẫn đến:
- Thực thi mã tùy ý từ xa trên máy chủ chạy Next.js mà không cần xác thực và không cần tương tác người dùng (GHSA-673q-mjm6-r5xr, CVE-2026-96889)
- Truy cập biến môi trường, secrets, credentials và dữ liệu của ứng dụng, di chuyển ngang sang hạ tầng liên quan từ máy chủ bị chiếm quyền
- Từ chối dịch vụ: CPU bị tiêu thụ quá mức khiến tiến trình không xử lý được các yêu cầu tiếp theo (GHSA-p3m5-59mp-jv5r)
Biện pháp khắc phục
- Nâng cấp Next.js lên 16.4.1 (nhánh 16.x) hoặc 15.5.28 (nhánh 15.x) ngay lập tức. Đặc biệt, cần nâng cấp ngay cả khi ứng dụng không có hàm use cache tương tự do GHSA-673q-mjm6-r5xr không workaround.
- Đảm bảo thư viện sharp mà Next.js sử dụng là 0.35.5 trở lên để khắc phục CVE-2026-96889. Cần kiểm tra lockfile cũ có thể vẫn giữ sharp 0.34.x. Lưu ý rằng chỉ cập nhật sharp không khắc phục được hai lỗ hổng còn lại.
- Rà soát danh mục ứng dụng Next.js (phiên bản, Cache Components, Server Actions, sharp); rebuild và redeploy container/image sau khi nâng cấp để bản vá được triển khai thật sự; theo dõi log endpoint /_next/image với các yêu cầu SVG bất thường
Tham khảo
https://adsecvn.com/bai-viet/canh-bao-lo-hong-rce-nghiem-trong-trong-next-js-cap-nhat-ngay-ban-va
https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr
https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw
https://nvd.nist.gov/vuln/detail/cve-2026-96889
https://thehackernews.com/2026/10/nextjs-ships-out-of-band-patch-for-two.html