ผลกระทบ
ผู้โจมตีสามารถข้ามลอจิกความปลอดภัยและการตรวจสอบการอนุญาตในแอปพลิเคชัน Next.js ซึ่งอาจเข้าถึงทรัพยากรที่ถูกจำกัดอย่างเต็มรูปแบบ [S1] ช่องโหว่นี้จัดอยู่ในประเภทวิกฤตด้วยคะแนน CVSS 9.1 เนื่องจากไม่ต้องใช้สิทธิ์ใด ๆ และสามารถถูกโจมตีผ่านเครือข่ายได้โดยไม่ต้องโต้ตอบกับผู้ใช้ [S2]
ต้นเหตุ
ช่องโหว่นี้เกิดจากวิธีที่ Next.js ประมวลผลคำขอย่อยภายในภายในสถาปัตยกรรมมิดเดิลแวร์ ZXCVFIXVIBTOKEN1ZXCV แอปพลิเคชันที่ต้องอาศัยมิดเดิลแวร์ในการอนุญาต (CWE-863) อาจมีความเสี่ยงหากไม่ได้ตรวจสอบที่มาของส่วนหัวภายใน [S2] อย่างเหมาะสม ผู้โจมตีภายนอกสามารถรวมส่วนหัว x-middleware-subrequest ไว้ในคำขอเพื่อหลอกให้กรอบงานปฏิบัติต่อคำขอดังกล่าวเสมือนเป็นการดำเนินการภายในที่ได้รับอนุญาตแล้ว โดยข้ามตรรกะการรักษาความปลอดภัยของมิดเดิลแวร์ ZXCVFIXVIBTOKEN3ZXCV ได้อย่างมีประสิทธิภาพ
วิธีทดสอบ FixVibe
ตอนนี้ FixVibe รวมสิ่งนี้เป็นเช็คที่แอ็คทีฟแบบมีรั้วรอบขอบชิด หลังจากการตรวจสอบโดเมนแล้ว active.nextjs.middleware-bypass-cve-2025-29927 จะค้นหาตำแหน่งข้อมูล Next.js ที่ปฏิเสธคำขอพื้นฐาน จากนั้นจึงเรียกใช้โพรบควบคุมแบบแคบสำหรับเงื่อนไขการบายพาสมิดเดิลแวร์ โดยจะรายงานเฉพาะเมื่อเส้นทางที่ได้รับการป้องกันเปลี่ยนจากถูกปฏิเสธเป็นสามารถเข้าถึงได้ในลักษณะที่สอดคล้องกับ CVE-2025-29927 และพรอมต์การแก้ไขช่วยให้การแก้ไขมุ่งเน้นไปที่การอัพเกรด Next.js และการบล็อกส่วนหัวของมิดเดิลแวร์ภายในที่ขอบจนกว่าจะมีแพตช์
การแก้ไขคอนกรีต
- อัปเกรด Next.js: อัปเดตแอปพลิเคชันของคุณเป็นเวอร์ชันแพตช์ทันที: 12.3.5, 13.5.9, 14.2.25 หรือ 15.2.3 [S1, S2]
- การกรองส่วนหัวด้วยตนเอง: หากไม่สามารถอัปเกรดได้ทันที ให้กำหนดค่า Web Application Firewall (WAF) หรือพร็อกซีย้อนกลับเพื่อตัดส่วนหัว
x-middleware-subrequestออกจากคำขอภายนอกที่เข้ามาทั้งหมดก่อนที่จะไปถึงเซิร์ฟเวอร์ ZXCVFIXVIBTOKEN2ZXCV ZXCVFIXVIBTOKEN1ZXCV - Vercel Deployment: การปรับใช้ที่โฮสต์บน Vercel ได้รับการปกป้องเชิงรุกโดยไฟร์วอลล์ของแพลตฟอร์ม ZXCVFIXVIBTOKEN0ZXCV
