ثغرة خطيرة في Next.js وRSC وتنفيذ أوامر عن بعد

x32x01
  • بواسطة x32x01 ||
⚠️ ثغرة خطيرة جدًا في Next.js و React Server Components ممكن تفتح سيرفرك للهاكرز!
لو موقعك مبني بـ Next.js أو شغال بـ React Server Components (RSC)، فـ لازم تاخد بالك جدًا إن في ثغرة جديدة اتصنفت 10/10 من ناحية الخطورة!
الثغرة دي اسمها CVE-2025-55182، وبتسمح للهاكر إنه ينفّذ أوامر على السيرفر بتاعك وكأنه قاعد عليه بنفسه!

يعني باختصار:
الهاكرز ممكن يتحكموا في السيرفر بالكامل من غير باسورد ولا دخول فعلي 😨

الموضوع حرفيًا يعتبر كارثة أمنية لأي موقع بيستخدم Next.js أو RSC بالشكل الحالي لو مش محدّث.



طب يعني إيه RCE؟ وليه مرعبة كده؟ 💻🔥

RCE = Remote Code Execution
ودي ببساطة معناها إن حد يبعت Request معمول بذكاء للموقع بتاعك، والسيرفر للأسف ينفّذ اللي فيه كأنه كود عادي من عندك.

تخيل كده؟
هاكر يبعت طلب… السيرفر ينفّذ:
  • حذف ملفات
  • إنشاء ملفات
  • تشغيل سكريبتات
  • تحميل Malware
  • سرقة Data
  • أو حتى مسح الموقع كله! 🤯



المشكلة بدأت منين؟ (Serialization / Deserialization) 🧩⚙️

Next.js و RSC بيعتمدوا على عملية مهمة جدًا:

المرحلة الأولى: Serialization

لما React Server Components تشتغل…
السيرفر بياخد:
  • الكود
  • الـ Objects
  • الـ Props
    وبيحولهم لـ بيانات خام (نصوص – JSON – binary …) عشان يقدر يبعتها للمتصفح.
يعنى تبسيطًا:
السيرفر بيجهز البيانات في شكل "باكدج" سهلة النقل.

المرحلة الثانية: Deserialization

لما البيانات بترجع من العميل أو السيرفر يعالج نفسه بيانات داخلية، لازم يرجّع الـ Raw Data دي لـ Objects برمجية حقيقية.
المشكلة؟
إن عملية الـ Deserialization كانت بتثق في البيانات اللي جاية… ودي غلطة كبيرة جدًا.



فين الثغرة بالظبط؟ 🔍💥

الثغرة CVE-2025-55182 كانت بتسمح للهاكر إنه يبعت بيانات باين شكلها عادي، لكن جواها أكواد خبيثة.
ولأن Next.js و React كانوا بيثقوا في البيانات بشكل زيادة…
لما يحاولوا يعملوا Deserialization، بدلاً من إنه يعمل Object… يروح مشغّل كود!

يعنى بدل ما يبني بيانات…
بيشغّل أوامر! 😨💣

وده بالظبط اللي بيسمّوه:
📌 Object Injection → Code Execution
📌 Deserialization Attack → RCE



تخيل كده السيناريو ده 🔥😬

هاكر يبعت Request بالشكل ده مثلًا:
Code:
{
  "type": "rsc_object",
  "payload": {
    "__proto__": {
      "exec": "rm -rf /var/www/html"
    }
  }
}
وده مثال توضيحي، مش نفس الثغرة لكن نفس الفكرة 👆
السيرفر لما يفك البيانات… يفتكر إن "exec" جزء من object formatting ويشغّل الأمر!

وهنا الكارثة:
  • الموقع يختفي
  • السيرفر يتخترق
  • الداتا تتسرق
  • يتركّب Backdoor
  • كل حاجة تقع! 😭



لو بتسأل: "طب أنا متأثر بالثغرة دي؟" 🤔

هقولّك:
لو بتستخدم أي من دول:
✔️ Next.js 15 قبل 15.0.5
✔️ Next.js 16 قبل 16.0.7
✔️ React Server Components قبل 19.0.1
يبقى آه… موقعك معرّض للهجوم!



إزاي أحمي نفسي؟ (حل رسمي من Next.js) 🛡️🔥

الحل البسيط جدًا:

لو بتستخدم Next.js 15:

حدّث فورًا إلى:
➡️ 15.0.5 أو أعلى

لو بتستخدم Next.js 16:

حدّث إلى:
➡️ 16.0.7 أو أعلى

لو بتستخدم RSC منفصلة:

حدّث إلى الإصدار:
➡️ 19.0.1 أو أعلى



كود بسيط يساعدك تتأكد من الإصدار الحالي 📌💻

في مشروع Next.js:

افتح الطرفية وشغّل: npm list next

أو عن طريق package.json:​

Code:
{
  "dependencies": {
    "next": "16.0.3"
  }
}
لو الإصدار أقل من اللي فوق… يبقى لازم تحديث فورًا 🔥



طب أعمل إيه لو خايف إن موقعي متخترق؟ 🔥🔐

إليك خطوات سريعة:

1) راجع الـ Logs

شوف:
  • طلبات غريبة
  • أكواد مش من عندك
  • Requests فيها JSON غريب

2) اعمل Scan على الموقع

مثال:
Code:
npm install -g @nodesecurity/eslint-plugin-security

3) استخدم WAF

لو موقعك على Cloudflare… شغّل الـ Firewall Rules.

4) اقفل أي API مفتوح

خاصة لو عندك:
  • Webhooks
  • RSC API routes
  • Server Actions



ليه الثغرة دي مهمة للي بيشتغلوا في الأمن السيبراني؟ 🧠🛡️

لأنها نموذج ممتاز لفهم:
  • Serialization Attacks
  • Object Injection
  • Code Execution Chains
  • React Server Architecture
  • Security Hardening في Next.js
ولو انت بتتعلم اختراق أو حماية… الثغرة دي تعتبر treasure case في عالم الأمن السيبراني 🔥



نصايح ذهبية للمبرمجين والمطورين 💡⚡

✔️ دايمًا أحدث
✔️ اقفل أي Endpoint مش محتاجه
✔️ متثقش في أي Input مهما كان
✔️ استخدم Security Headers
✔️ شغّل TypeScript Strict Mode
✔️ استخدم ESLint security rules



خلاصة الكلام 📝🔥

الثغرة دي مش بسيطة…
دي معرّضة آلاف المواقع للاختراق الكامل بسبب ثقة زيادة في بيانات جاية من العميل أثناء Deserialization.
لو موقعك مبني بـ Next.js أو RSC، لازم لازم تحدّث فورًا قبل ما حد يستغل الثغرة عليك.
ومهم جدًا تتابع تحديثات الأمن من Next.js باستمرار، لأن الثغرات دي بتطلع كل فترة.

وخليك فاكر:
الأمان مش اختيار… الأمان جزء أساسي من الكود.
 
المواضيع ذات الصلة
x32x01
الردود
6
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
697
x32x01
x32x01
x32x01
الردود
0
المشاهدات
802
x32x01
x32x01
x32x01
الردود
0
المشاهدات
890
x32x01
x32x01
x32x01
الردود
0
المشاهدات
626
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,094
المشاركات
2,299
أعضاء أكتب كود
513
أخر عضو
Alaa69
عودة
أعلى