تحديث Next.js الأمني — يوليو 2026: ترقيع 9 ثغرات

في 20 يوليو 2026 نشر فريق Next.js أول إصدار أمني مجدول ومعلن مسبقًا في تاريخ الإطار: تسع ثغرات مُرقّعة دفعة واحدة — أربع بخطورة عالية وخمس متوسطة — في النسختين المدعومتين 16.2 و15.5. الخبر مو بس في الثغرات نفسها، بل في الطريقة: قبلها بأسبوع (13 يوليو) أعلنت Vercel تحوّل Next.js إلى برنامج إصدارات أمنية شهرية بإشعار مسبق، على نهج Django وNode.js وOpenSSL.

المشكلة: رُقع مفاجئة وسباق مع المهاجمين

اللي يشغّل Next.js في الإنتاج يعرف السيناريو: يطلع ترقيع أمني بدون سابق إنذار، وتتحول ليلة الفريق إلى سباق ترقيع وتدقيق. صار هذا مرتين بشكل مؤلم: ثغرة تجاوز الـ Middleware في مارس 2025 (CVE-2025-29927 بتقييم 9.1)، ثم React2Shell في ديسمبر 2025 بتقييم 10.0 كامل في React Server Components.

والضغط يزيد: حجم اكتشاف الثغرات في الصناعة كلها يتضاعف بفضل الأدوات المدعومة بالنماذج اللغوية — Mozilla وحدها أفصحت عن 271 ثغرة في إصدار واحد من Firefox، كلها مكتشفة بأدوات Anthropic. الذكاء الاصطناعي ما استبدل الباحث الأمني؛ ضاعف قدرته — والمعادلة نفسها تنطبق على المهاجمين. Vercel تشغّل نفس الفئة من الأدوات على Next.js عبر مشروعها deepsec وبرنامج مكافآت الثغرات.

وش تغيّر فعليًا؟

  • جدول شهري معلن: إشعار مسبق على مدونة Next.js يوضح موعد الإصدار وأعلى خطورة متوقعة، مع بقاء الرُقع الطارئة للثغرات المستغلة فعليًا.
  • تنسيق مع المنصات: المهلة تسمح لمزوّدي الاستضافة بنشر قواعد حماية (WAF) قبل وصول الترقيع لكل التطبيقات.

أبرز ثغرات هذا الإصدار:

  • CVE-2026-64641 (عالية): حجب خدمة عبر Server Actions في App Router باستهلاك المعالج.
  • CVE-2026-64642 (عالية): تجاوز Middleware في التطبيقات المبنية بـ Turbopack مع locale واحد — أي تحقق مصادقة في الـ Middleware يُتجاوز بالكامل.
  • CVE-2026-64645 (عالية): SSRF في rewrites() عندما يُبنى اسم المضيف من مدخلات الطلب.
  • CVE-2026-64649 (عالية): SSRF في Server Actions على الخوادم المخصصة.

التطبيق العملي

الترقية أولًا:

npm install next@16.2.11 # Active LTS
npm install next@15.5.21 # Maintenance LTS

ثم الدرس الأعمق من ثغرات تجاوز الـ Middleware المتكررة: الـ Middleware طبقة تحسين، مو خط الدفاع الوحيد. التحقق من الجلسة لازم يكون في طبقة الوصول للبيانات نفسها:

// lib/dal.ts
import 'server-only'
import { verifySession } from './session'

export async function getOrders() {
const session = await verifySession()
if (!session) throw new Error('unauthorized')

return db.orders.findMany({
where: { userId: session.userId },
})
}

بهذا النمط، حتى لو تُجوّز الـ Middleware (مثل CVE-2026-64642)، ما يوصل المهاجم لبيانات بدون جلسة صحيحة.

ملاحظات من أرض الواقع

  • الاستضافة الذاتية أكثر انكشافًا: عملاء Vercel حصلوا على حماية WAF تلقائية أثناء React2Shell، بينما المستضيف ذاتيًا يتحمل نافذة ما بين الإفصاح والترقيع كاملة. الجدول الشهري يقلّص النافذة، ما يلغيها.
  • متجر إلكتروني على App Router مع Server Actions؟ ثغرتا الـ DoS والـ SSRF تخصّك مباشرة — الترقية مو ترف.
  • ثبّت الاعتماديات بـ lockfile وفعّل تنبيهات آلية (Renovate أو Dependabot) بحيث يكون يوم الترقيع الشهري روتينًا قصيرًا، مو مشروعًا.
  • المعادلة نفسها اللي غطيناها في مصادقة وكلاء MCP: كلما زادت قدرة الأنظمة الذكية، صار الأمن عملية مستمرة مو حدثًا.

الخلاصة

Next.js انتقل من ترقيع ردّة الفعل إلى إيقاع أمني قابل للتخطيط — استجابة مباشرة لعصر تتضاعف فيه سرعة اكتشاف الثغرات بالذكاء الاصطناعي. الخطوة العملية اليوم: الترقية إلى 16.2.11 أو 15.5.21، ومراجعة أن المصادقة ما تعتمد على الـ Middleware وحده.

المصدر الأساسي: July 2026 Security Release — مدونة Next.js

تحديث Next.js الأمني — يوليو 2026: ترقيع 9 ثغرات · bahashwan.dev