Skip to content

Conversation

@asrar-mared
Copy link

Updates

  • Description

Comments
#!/bin/bash

============================================================================

🛡️ CVE-2025-55182 Security Patch Script

============================================================================

مؤسسة الرئاسة - مشروع درع زايد

Presidential Institution - Zayed Shield Project

الهدف: إصلاح ثغرة الأمنية في React وحزم Next.js المتأثرة

Purpose: Patch security vulnerability in React and affected Next.js packages

============================================================================

set -e

ألوان للتنسيق

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

رسالة البداية

echo -e "${BLUE}"
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ 🛡️ CVE-2025-55182 Security Patch Script 🛡️ ║"
echo "║ مؤسسة الرئاسة - مشروع درع زايد ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo -e "${NC}"

التحقق من صلاحيات المستخدم

check_permissions() {
echo -e "${YELLOW}[*] التحقق من الصلاحيات...${NC}"
if [ ! -f "package.json" ]; then
echo -e "${RED}[!] خطأ: لم يتم العثور على package.json${NC}"
echo -e "${RED}[!] تأكد من تشغيل السكريبت في مجلد المشروع${NC}"
exit 1
fi
echo -e "${GREEN}[✓] تم العثور على package.json${NC}"
}

النسخ الاحتياطي

backup_packages() {
echo -e "${YELLOW}[*] إنشاء نسخة احتياطية...${NC}"
cp package.json package.json.backup.$(date +%Y%m%d_%H%M%S)
if [ -f "package-lock.json" ]; then
cp package-lock.json package-lock.json.backup.$(date +%Y%m%d_%H%M%S)
fi
if [ -f "yarn.lock" ]; then
cp yarn.lock yarn.lock.backup.$(date +%Y%m%d_%H%M%S)
fi
echo -e "${GREEN}[✓] تم إنشاء النسخة الاحتياطية بنجاح${NC}"
}

فحص الإصدارات المتأثرة

check_vulnerable_versions() {
echo -e "${YELLOW}[*] فحص الإصدارات المتأثرة بالثغرة...${NC}"

VULNERABLE=false

# فحص React
if grep -q '"react".*"19\.[01]\.' package.json || \
   grep -q '"react".*"\^19\.[01]\.' package.json || \
   grep -q '"react".*"~19\.[01]\.' package.json; then
    echo -e "${RED}[!] تم اكتشاف إصدار React متأثر بالثغرة${NC}"
    VULNERABLE=true
fi

# فحص Next.js
if grep -q '"next".*"1[45]\.' package.json; then
    echo -e "${RED}[!] تم اكتشاف إصدار Next.js متأثر بالثغرة${NC}"
    VULNERABLE=true
fi

if [ "$VULNERABLE" = false ]; then
    echo -e "${GREEN}[✓] لم يتم اكتشاف إصدارات متأثرة${NC}"
    exit 0
fi

}

تحديث React إلى الإصدار الآمن

patch_react() {
echo -e "${YELLOW}[*] تحديث React إلى الإصدار الآمن...${NC}"

# الإصدارات الآمنة المقترحة
# React 19.2.1, 19.1.2, 19.0.1 آمنة

if command -v npm &> /dev/null; then
    echo -e "${BLUE}[*] استخدام npm للتحديث...${NC}"
    npm install react@19.2.1 react-dom@19.2.1 --save
elif command -v yarn &> /dev/null; then
    echo -e "${BLUE}[*] استخدام yarn للتحديث...${NC}"
    yarn add react@19.2.1 react-dom@19.2.1
else
    echo -e "${RED}[!] خطأ: لم يتم العثور على npm أو yarn${NC}"
    exit 1
fi

echo -e "${GREEN}[✓] تم تحديث React بنجاح${NC}"

}

تحديث Next.js إلى الإصدار الآمن

patch_nextjs() {
echo -e "${YELLOW}[*] التحقق من Next.js...${NC}"

if grep -q '"next"' package.json; then
    echo -e "${BLUE}[*] تحديث Next.js إلى الإصدار الآمن...${NC}"
    
    # الإصدارات الآمنة: 15.x أو 16.x
    if command -v npm &> /dev/null; then
        npm install next@latest --save
    elif command -v yarn &> /dev/null; then
        yarn add next@latest
    fi
    
    echo -e "${GREEN}[✓] تم تحديث Next.js بنجاح${NC}"
else
    echo -e "${BLUE}[*] Next.js غير مثبت في المشروع${NC}"
fi

}

تحديث الحزم المتأثرة الأخرى

patch_affected_packages() {
echo -e "${YELLOW}[*] تحديث الحزم المتأثرة الأخرى...${NC}"

# قائمة الحزم المتأثرة من الثغرة
AFFECTED_PACKAGES=(
    "react-server-dom-parcel"
    "react-server-dom-turbopack"
    "react-server-dom-webpack"
)

for pkg in "${AFFECTED_PACKAGES[@]}"; do
    if grep -q "\"$pkg\"" package.json; then
        echo -e "${BLUE}[*] تحديث $pkg...${NC}"
        if command -v npm &> /dev/null; then
            npm install "$pkg@latest" --save
        elif command -v yarn &> /dev/null; then
            yarn add "$pkg@latest"
        fi
    fi
done

echo -e "${GREEN}[✓] تم تحديث جميع الحزم المتأثرة${NC}"

}

تنظيف الذاكرة المؤقتة

clean_cache() {
echo -e "${YELLOW}[*] تنظيف الذاكرة المؤقتة...${NC}"

if command -v npm &> /dev/null; then
    npm cache clean --force
fi

if [ -d "node_modules" ]; then
    echo -e "${BLUE}[*] حذف node_modules...${NC}"
    rm -rf node_modules
fi

if [ -d ".next" ]; then
    echo -e "${BLUE}[*] حذف .next...${NC}"
    rm -rf .next
fi

echo -e "${GREEN}[✓] تم التنظيف بنجاح${NC}"

}

إعادة التثبيت

reinstall_dependencies() {
echo -e "${YELLOW}[*] إعادة تثبيت التبعيات...${NC}"

if command -v npm &> /dev/null; then
    npm install
elif command -v yarn &> /dev/null; then
    yarn install
fi

echo -e "${GREEN}[✓] تم إعادة التثبيت بنجاح${NC}"

}

فحص نهائي

final_verification() {
echo -e "${YELLOW}[*] إجراء الفحص النهائي...${NC}"

if command -v npm &> /dev/null; then
    echo -e "${BLUE}[*] فحص الثغرات الأمنية...${NC}"
    npm audit --production || true
fi

echo -e "${GREEN}[✓] اكتمل الفحص النهائي${NC}"

}

تقرير نهائي

generate_report() {
echo -e "${BLUE}"
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ 📊 تقرير الإصلاح ║"
echo "╠════════════════════════════════════════════════════════════╣"
echo "║ ✅ تم إصلاح الثغرة CVE-2025-55182 بنجاح ║"
echo "║ ✅ تم تحديث جميع الحزم المتأثرة ║"
echo "║ ✅ تم إنشاء نسخة احتياطية من الملفات ║"
echo "║ ✅ تم تنظيف الذاكرة المؤقتة ║"
echo "╠════════════════════════════════════════════════════════════╣"
echo "║ 📝 الإجراءات الموصى بها: ║"
echo "║ 1. اختبار المشروع بشكل كامل ║"
echo "║ 2. مراجعة سجلات التغييرات ║"
echo "║ 3. تحديث بيئة الإنتاج ║"
echo "╠════════════════════════════════════════════════════════════╣"
echo "║ 🛡️ مؤسسة الرئاسة - مشروع درع زايد 🛡️ ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo -e "${NC}"
}

============================================================================

تنفيذ السكريبت الرئيسي

============================================================================

main() {
check_permissions
backup_packages
check_vulnerable_versions
patch_react
patch_nextjs
patch_affected_packages
clean_cache
reinstall_dependencies
final_verification
generate_report

echo -e "${GREEN}════════════════════════════════════════════════════════════${NC}"
echo -e "${GREEN}[✓] تم إصلاح الثغرة الأمنية بنجاح!${NC}"
echo -e "${GREEN}════════════════════════════════════════════════════════════${NC}"

}

تشغيل السكريبت

main

@github
Copy link
Collaborator

github commented Dec 27, 2025

Hi there @aaronbrown-vercel! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.

This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

@github-actions github-actions bot changed the base branch from main to asrar-mared/advisory-improvement-6582 December 27, 2025 18:17
@asrar-mared
Copy link
Author

🛡️ دليل التوعية الأمنية - CVE-2025-55182

⚠️ هذه ليست مجرد ثغرة... هذا درس!


🔴 ما هي المشكلة؟

CVE-2025-55182 ثغرة أمنية خطيرة في React 19.x تسمح بـ:

  • 💀 تنفيذ أكواد خبيثة على السيرفر
  • 💀 اختراق App Router في Next.js
  • 💀 الوصول لبيانات المستخدمين
  • 💀 السيطرة على التطبيق بالكامل

النتيجة: إذا لم تُصلح، مشروعك مخترق بدون ما تدري!


🚨 لماذا هذا خطير جداً؟

المشكلة الحقيقية:

❌ "أنا هحدث بكرة"
❌ "التطبيق شغال عادي"
❌ "مفيش حد هيخترقني"
❌ "الثغرة مش مهمة"

الحقيقة المرة:

✅ الهاكرز بيبحثوا عن الثغرة دي دلوقتي
✅ كل يوم تأخير = فرصة للاختراق
✅ بياناتك وبيانات عملائك في خطر
✅ سمعتك كمطور على المحك

💊 الحل: لن تتكرر هذه المشكلة مرة أخرى!

1️⃣ الإصلاح الفوري (الآن!)

#!/bin/bash

# 🛡️ نهاية الثغرة - بدون رجعة
echo "🚀 Starting Security Patch..."

# نسخة احتياطية
cp package.json package.json.backup

# الإصلاح النهائي
npm install react@19.2.1 react-dom@19.2.1 next@latest

# تنظيف شامل
rm -rf node_modules .next
npm cache clean --force
npm install

echo "✅ Security Patch Complete!"
echo "🛡️ Your app is now SECURE!"

2️⃣ الوقاية: لن يحدث مرة أخرى

أ) أتمتة الفحص الأمني

أضف في package.json:

{
  "scripts": {
    "security-check": "npm audit --production",
    "security-fix": "npm audit fix --force",
    "pre-commit": "npm run security-check"
  }
}

ب) GitHub Actions للحماية التلقائية

ملف .github/workflows/security.yml:

name: Security Check

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  schedule:
    - cron: '0 0 * * *'  # يومياً

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Security Audit
        run: |
          npm audit --audit-level=high
          
      - name: Dependency Check
        run: |
          npm outdated
          
      - name: Alert on Vulnerabilities
        if: failure()
        run: |
          echo "⚠️ SECURITY ALERT: Vulnerabilities Found!"
          exit 1

ج) Dependabot للتحديثات التلقائية

ملف .github/dependabot.yml:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 10
    labels:
      - "security"
      - "dependencies"

3️⃣ المراقبة المستمرة

سكريبت المراقبة اليومية:

#!/bin/bash

# 🔍 Security Monitor Script
# يشتغل يومياً ويبعتلك تنبيه

check_vulnerabilities() {
    echo "🔍 Checking for vulnerabilities..."
    
    RESULT=$(npm audit --json)
    CRITICAL=$(echo $RESULT | jq '.metadata.vulnerabilities.critical')
    HIGH=$(echo $RESULT | jq '.metadata.vulnerabilities.high')
    
    if [ "$CRITICAL" -gt 0 ] || [ "$HIGH" -gt 0 ]; then
        echo "🚨 ALERT: $CRITICAL Critical, $HIGH High vulnerabilities found!"
        
        # إرسال تنبيه (مثال: Slack, Discord, Email)
        curl -X POST YOUR_WEBHOOK_URL \
          -H 'Content-Type: application/json' \
          -d "{\"text\":\"🚨 Security Alert: $CRITICAL Critical vulnerabilities found!\"}"
        
        return 1
    else
        echo "✅ No critical vulnerabilities found"
        return 0
    fi
}

check_vulnerabilities

🌍 المجتمع يتحرك: كن جزءاً من الحل

ما يفعله المجتمع:

1. React Team 🔧

  • إصدار patches فورية
  • تحديث التوثيق
  • نشر التحذيرات

2. Next.js Team 🚀

  • تحديثات أمنية عاجلة
  • تحسين App Router
  • إضافة حماية إضافية

3. Security Researchers 🕵️

  • اكتشاف الثغرات
  • نشر التقارير
  • مساعدة المطورين

4. المطورون حول العالم 💪

  • تحديث فوري
  • مشاركة الحلول
  • نشر التوعية

ماذا يجب أن تفعل أنت؟

القائمة الذهبية:

☑️ حدّث مشاريعك الآن (لا تنتظر!)
☑️ فعّل GitHub Dependabot
☑️ أضف Security Workflow
☑️ راقب npm audit يومياً
☑️ شارك هذا الدليل مع فريقك
☑️ علّم المطورين الجدد
☑️ ساهم في نشر الوعي

📊 الإحصائيات المخيفة

🔴 90% من الاختراقات سببها ثغرات معروفة لم تُصلح
🔴 متوسط وقت اكتشاف الاختراق: 207 يوم
🔴 تكلفة الاختراق الواحد: $4.45 مليون دولار
🔴 83% من الشركات تعرضت لاختراق في 2024

💰 تكلفة التجاهل:

السيناريو التكلفة
الإصلاح الآن 15 دقيقة ⏱️
الإصلاح بعد أسبوع ساعات من إعادة البناء 🔨
الإصلاح بعد الاختراق خسارة العملاء + السمعة + المال 💸💔

🎯 الخطة الذهبية: لن يحدث مجدداً

Week 1: الإصلاح

  • ✅ تحديث جميع المشاريع
  • ✅ فحص شامل للثغرات
  • ✅ توثيق التغييرات

Week 2: الأتمتة

  • ✅ إضافة GitHub Actions
  • ✅ تفعيل Dependabot
  • ✅ إعداد التنبيهات

Week 3: المراقبة

  • ✅ سكريبتات المراقبة اليومية
  • ✅ لوحة تحكم للأمان
  • ✅ تقارير أسبوعية

Week 4: التعليم

  • ✅ تدريب الفريق
  • ✅ توثيق الإجراءات
  • ✅ خطة الاستجابة للطوارئ

🔥 رسالة أخيرة

┌─────────────────────────────────────────────┐
│                                             │
│  الأمن السيبراني ليس خياراً...             │
│         هو مسؤولية!                        │
│                                             │
│  كل يوم تأخير = فرصة للهاكرز               │
│  كل ثغرة مُهملة = باب مفتوح للخطر          │
│                                             │
│  ✅ حدّث الآن                               │
│  ✅ راقب دائماً                             │
│  ✅ كن مستعداً                              │
│                                             │
└─────────────────────────────────────────────┘

📞 الموارد والدعم

للمساعدة الفورية:

للتعلم المستمر:

  • 📚 OWASP Security Guidelines
  • 📚 npm Security Best Practices
  • 📚 React Security Documentation
  • 📚 Next.js Security Headers

🛡️ التعهد الأمني

أنا [اسمك]، أتعهد بأن:

✅ أحدّث مشاريعي فوراً عند اكتشاف ثغرات
✅ أراقب التبعيات بشكل مستمر
✅ أشارك المعرفة الأمنية مع المجتمع
✅ لا أتجاهل التحذيرات الأمنية أبداً
✅ أجعل الأمان أولوية في كل كود أكتبه

التوقيع: ________________
التاريخ: ________________

🎬 الخلاصة

✅ هذه الثغرة انتهت... إذا تصرفت الآن!

# آخر فرصة - نفذ هذا الأمر الآن:
npm install react@19.2.1 react-dom@19.2.1 next@latest && \
npm audit fix && \
echo "🛡️ مشروعك آمن الآن!"

🚀 المستقبل أفضل... مع الوقاية!

# اجعل هذا عادة يومية:
npm audit && \
npm outdated && \
echo "✅ فحص يومي مكتمل!"

🛡️ مؤسسة الرئاسة - مشروع درع زايد
نحمي الحاضر، نبني المستقبل الآمن



📞 معلومات الاتصال

مؤسسة الرئاسة - مشروع درع زايد

  • 👤 المطور: asrar-mared
  • 🌐 الموقع: nike49424.live
  • 📧 البريد: nike49424@gmail.com
  • 💻 GitHub: github.com/asrar-mared

آخر تحديث: ديسمبر 2025
النسخة: 1.0 - الإصدار النهائي

شارك هذا الدليل - أنقذ مشروع مطور! 🙏

Copy link
Author

@asrar-mared asrar-mared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

الملفات المتغيره

"type": "ECOSYSTEM",
"events": [
{
"introduced": "15.1.0-canary.0"
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

الملفات المتغيره

{
"schema_version": "1.4.0",
"id": "GHSA-9qr9-h5gf-34mp",
"modified": "2025-12-11T19:31:04Z",
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"modified": "2025-12-11T19:31:08Z",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants