پچ امنیتی اکتبر Next.js: الان چک کن، نه فردا
نویسنده: آرش لطیفی
Next.js برای ۱۴ اکتبر ۲۰۲۶ یک آپدیت امنیتی خارج از روتین اعلام کرد: دو آسیبپذیری Critical و یک High در وابستگیهای بالادستی. تاریخچه تابستان نشان میدهد چه انتظاری داشته باشی و الان چه کنی.
TL;DR — امروز (۱۴ اکتبر ۲۰۲۶) روز انتشار آپدیت امنیتی خارج از روتین Next.js است: دو آسیبپذیری بحرانی و یک High در وابستگیهای بالادستی. اول کار پچ آمده را چک کن و آپدیت بده؛ اگر هنوز منتشر نشده، نسخهات را آماده نگه دار و صبح بعدی چک کن.
در راهنمای پچ 16.3.8 گفتیم که وِرکل از تابستان ریتم امنیتی ماهانه گذاشته. این هفته اولین تست سخت آن ریتم است — و فرصت خوبی تا روال پچ گرفتن خودت را مرتب کنی.
چه خبر است؟
تیم Next.js در ۸ اکتبر اعلام کرد که چهارشنبه ۱۴ اکتبر ۲۰۲۶ یک آپدیت امنیتی خارج از روتین (out-of-band) منتشر میکند که سه آسیبپذیری در وابستگیهای بالادستی (upstream) را میبندد: دو Critical و یک High. دو مورد از این فیکسها از ریلوز سپتامبر بهخاطر هماهنگی بالادستی عقب افتاده بودند. جزئیات کامل — CVEها، نسخههای آسیبپذیر و دستورالعمل ارتقا — همراه خود پچ منتشر میشود.
نکته مهم: «بالادستی» یعنی مشکل از کد Next.js نیست، از پکیجهایی است که Next.js استفاده میکند. ولی چون Next.js آنها را داخل خودش میآورد، راه درمان همان آپدیت Next.js است — نه دست بردن جداگانه به آن پکیجها.
الگوی تابستان: چه انتظاری داشته باشیم
سه راند قبلی الگوی روشنی ساختند:
| ریلوز | تاریخ | خلاصه | |---|---|---| | جولای ۲۰۲۶ | ۳۰ جولای | اولین ریلوز رسمی فرآیند ماهانه | | آگوست ۲۰۲۶ | ۲۵ آگوست (جلو افتاد از ۲۶) | راند ماهانه | | سپتامبر ۲۰۲۶ | ۲۲ و ۳۰ سپتامبر | پچ اضطراری ImageResponse RCE بحرانی + راند ماهانه؛ دو فیکس به اکتبر موکول شد |
نسخههای پچ سپتامبر 16.3.8 و 15.5.27 بودند. هماهنگی بالادستی باعث شد دو مورد به اکتبر موکول شود — همانهایی که امروز منتشر میشوند، اینبار با شدت Critical.
همین حالا این کارها را بکن
- [ ] نسخه
nextپروژهات را چک کن (npm ls next) — اگر روی 16.3.8 یا 15.5.27 هستی، پایه آماده است - [ ] وضعیت ریلیزهای GitHub و بلاگ Next.js را چک کن: آیا پچ امروز منتشر شده؟ شماره نسخه جدید چیست؟
- [ ] اگر پچ آمده: در یک برنچ آپدیت کن،
npm run buildبگیر و تست دود (صفحات اصلی، ISR، OG image) اجرا کن - [ ] اگر پچ هنوز نیامده: کانال اطلاعرسانی (بلاگ Next.js یا ریلیزهای گیتهاب) را bookmark کن و فردا صبح دوباره چک کن
- [ ] اگر اپ تجاری حساسی داری، فلگ
experimental.agentUpgrade: 'security'(در 16.4) را بگذار تا آپدیتهای امنیتی مرتبط خودش یادت بیندازد
نکته برای self-hosted ها: پچهای اخیر نشان دادند سناریوهای self-hosted (مثل کشپویزنینگ ISR) جدی گرفته میشوند؛ روی Vercel بودن بهانه تعویق نیست چون بعضی مسیرها به همه پلتفرمها مربوطاند.
سوالات پرتکرار
Q: پروژهام تجاری نیست، باز هم عجله؟
اگر دیتای کاربر ندارد و فقط یک لندینگ است، ریسک کمتر است ولی آپدیت پنجدقیقهای است — همان اولین روز خلوت انجامش بده. ادعای رسمی این است که دو مورد Critical است و تا جزئیات CVE منتشر شود نمیشود گفت سناریوی حمله چقدر عملی است؛ همین ابهام دلیل کافی برای آپدیت سریع است.
Q: از کجا بفهمم نسخه من آسیبپذیر است؟
با اعلامیه همراه پچ، لیست نسخههای آسیبپذیر (affected versions) منتشر میشود. تا آن لحظه، اگر روی آخرین پچ LTS فعلی (16.3.8 یا 15.5.27) نیستی، فرض کن در معرضی و آپدیت کن.
Q: آپدیت میترساندم چیزی بشکند، چیکار کنم؟
همان پروتکل همیشگی: برنچ جدا، آپدیت، build کامل، تست دود صفحات کلیدی، سپس merge. دو راند قبلی پچ گزارش گستردهای از breaking change نداشتند — پچهای امنیتی معمولاً کوچک و هدفمندند.