Vượt qua kiểm tra quyền trong Middleware
Tiêu đề gốc: Authorization Bypass in Next.js Middleware
Chuyện gì xảy ra
Nếu ứng dụng kiểm tra quyền truy cập trong middleware, kẻ tấn công có thể đi vòng qua bước kiểm tra đó và vào trang lẽ ra bị chặn.
Ai bị ảnh hưởng
- Ứng dụng tự host đặt bước kiểm tra đăng nhập hoặc phân quyền trong
middleware.ts. - Theo cảnh báo, ứng dụng triển khai trên Vercel được tự động bảo vệ.
Bản bị ảnh hưởng và bản vá
| Bản bị ảnh hưởng | Bản vá |
|---|---|
>= 13.0.0, < 13.5.9 | 13.5.9 |
>= 14.0.0, < 14.2.25 | 14.2.25 |
>= 15.0.0, < 15.2.3 | 15.2.3 |
>= 12.0.0, < 12.3.5 | 12.3.5 |
Cách xử lý
- Nâng Next.js lên bản vá đúng nhánh trong bảng dưới. Next.js 11.x không có bản vá; chỉ có cách tạm thời bên dưới.
- Nếu chưa nâng được: ở reverse proxy hoặc load balancer, chặn mọi request từ bên ngoài có header
x-middleware-subrequesttrước khi tới Next.js.
Tự kiểm tra
- Xem
middleware.ts(hoặc.js) có kiểm tra đăng nhập hay phân quyền không. - Chạy
npm ls nextvà so với bảng dưới. - Kiểm tra cấu hình proxy: request ngoài có header
x-middleware-subrequestphải bị chặn hoặc bị xoá header.
Nguồn
Viết lại từ cảnh báo gốc; phiên bản lấy từ GitHub Advisory Database (CC-BY-4.0), cập nhật 29/10/2026. Khi có khác biệt, cảnh báo gốc là chuẩn.