FixVibe
Covered by FixVibecritical

CVE-2025-29927: บายพาสการอนุญาตมิดเดิลแวร์ Next.js

ช่องโหว่ร้ายแรงใน Next.js ช่วยให้ผู้โจมตีสามารถเลี่ยงผ่านการตรวจสอบการอนุญาตที่ใช้ในมิดเดิลแวร์ได้ ด้วยการปลอมแปลงส่วนหัวภายใน คำขอภายนอกสามารถปลอมแปลงเป็นคำขอย่อยที่ได้รับอนุญาต ซึ่งนำไปสู่การเข้าถึงเส้นทางและข้อมูลที่ได้รับการป้องกันโดยไม่ได้รับอนุญาต

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

ผลกระทบ

ผู้โจมตีสามารถข้ามลอจิกความปลอดภัยและการตรวจสอบการอนุญาตในแอปพลิเคชัน 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