FixVibe
Covered by FixVibecritical

CVE-2025-29927: Next.js Bỏ qua ủy quyền phần mềm trung gian

Một lỗ hổng nghiêm trọng trong Next.js cho phép kẻ tấn công bỏ qua việc kiểm tra ủy quyền được thực hiện trong phần mềm trung gian. Bằng cách giả mạo các tiêu đề nội bộ, các yêu cầu bên ngoài có thể giả mạo thành các yêu cầu phụ được ủy quyền, dẫn đến truy cập trái phép vào các tuyến đường và dữ liệu được bảo vệ.

CVE-2025-29927GHSA-F82V-JWR5-MFFWCWE-863CWE-285

Tác động

Kẻ tấn công có thể vượt qua kiểm tra logic bảo mật và ủy quyền trong các ứng dụng Next.js, có khả năng giành được quyền truy cập đầy đủ vào các tài nguyên bị hạn chế [S1]. Lỗ hổng này được phân loại là nghiêm trọng với điểm CVSS là 9,1 vì nó không yêu cầu đặc quyền và có thể bị khai thác qua mạng mà không cần sự tương tác của người dùng [S2].

Nguyên nhân gốc rễ

Lỗ hổng này bắt nguồn từ cách Next.js xử lý các yêu cầu phụ nội bộ trong kiến trúc phần mềm trung gian [S1]. Các ứng dụng dựa vào phần mềm trung gian để ủy quyền (CWE-863) dễ bị ảnh hưởng nếu chúng không xác thực chính xác nguồn gốc của các tiêu đề nội bộ [S2]. Cụ thể, kẻ tấn công bên ngoài có thể đưa tiêu đề x-middleware-subrequest vào yêu cầu của chúng để lừa khung xử lý yêu cầu đó như một hoạt động nội bộ đã được ủy quyền, bỏ qua logic bảo mật [S1] của phần mềm trung gian một cách hiệu quả.

FixVibe kiểm tra nó như thế nào

FixVibe hiện bao gồm tính năng này dưới dạng kiểm tra hoạt động có kiểm soát. Sau khi xác minh miền, active.nextjs.middleware-bypass-cve-2025-29927 tìm kiếm các điểm cuối Next.js từ chối yêu cầu cơ bản, sau đó chạy thăm dò kiểm soát hẹp cho tình trạng bỏ qua phần mềm trung gian. Nó chỉ báo cáo khi tuyến được bảo vệ thay đổi từ bị từ chối thành có thể truy cập theo cách phù hợp với CVE-2025-29927 và lời nhắc khắc phục sẽ tập trung khắc phục vào việc nâng cấp Next.js và chặn tiêu đề phần mềm trung gian nội bộ ở rìa cho đến khi được vá.

Sửa chữa bê tông

  • Nâng cấp Next.js: Cập nhật ngay ứng dụng của bạn lên phiên bản vá lỗi: 12.3.5, 13.5.9, 14.2.25 hoặc 15.2.3 [S1, S2].
  • Lọc tiêu đề thủ công: Nếu không thể nâng cấp ngay lập tức, hãy định cấu hình Tường lửa ứng dụng web (WAF) hoặc proxy ngược của bạn để loại bỏ tiêu đề x-middleware-subrequest khỏi tất cả các yêu cầu bên ngoài đến trước khi chúng đến máy chủ Next.js [S1].
  • Triển khai Vercel: Các hoạt động triển khai được lưu trữ trên Vercel được bảo vệ chủ động bởi tường lửa [S2] của nền tảng.