Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-74469 — مستودع بحثي لـ CVE-2026-74469 (DiagSpill)، وهو تجاوز في عدّاد نقل نظير SCTP في نواة Linux يؤدي إلى كتابة خارج الحدود، مع PoC وتحليل السبب الجذري وتفاصيل التصحيح. | Kitploit
أدوات/GitHubGitHub/0xblackash/cve-2026-74469
تصعيد الامتيازاتتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

مستودع بحثي لـ CVE-2026-74469 (DiagSpill)، وهو تجاوز في عدّاد نقل نظير SCTP في نواة Linux يؤدي إلى كتابة خارج الحدود، مع PoC وتحليل السبب الجذري وتفاصيل التصحيح.

عرض المستودع
منذ 7س 48دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

⚡ CVE-2026-74469 — DiagSpill

تجاوز عدد ناقلات الأقران في SCTP بنواة Linux

ثغرة في نواة Linux في بروتوكول SCTP ناتجة عن تجاوز سعة عدّاد ناقلات الأقران بعرض 16 بت، مما يسمح للعدّاد بالالتفاف من 65535 إلى 0. أثناء تفريغ تشخيصي لـ SCTP، قد تتسبب القيمة الملتفّة في حجز غير كافٍ لحمولة skb يتبعه كتابة خارج الحدود لبيانات عنوان القرين.


⚠️ إخلاء المسؤولية

هذا المستودع مخصص للبحث الأمني المصرّح به، وتحليل ثغرات النواة، وبيئات CTF، وتنقيح النواة، والاختبار الدفاعي فقط.

لا تستخدم كود إثبات المفهوم ضد أنظمة دون تصريح صريح.


📌 نظرة عامة على الثغرة

يصف إشعار CVE الخاص بنواة Linux المشكلة بأنها تجاوز سعة transport_count بعرض 16 بت في SCTP، يتبعه تخصيص أصغر من اللازم لـ INET_DIAG_PEERS وكتابة خارج الحدود أثناء التفريغ التشخيصي.


🧬 وصف الثغرة

يحتفظ الكود المصاب بعدد ناقلات الأقران الفريدة في عدّاد بعرض 16 بت:

root@kitploit:~
transport_count

كل قرين فريد يُضاف حديثًا يزيد العدّاد.

الحد الحرج هو:

root@kitploit:~
65535

إضافة ناقل فريد آخر تؤدي إلى:

root@kitploit:~
65535 + 1
     ↓
     0

يُنشئ الالتفاف الناتج تعارضًا بين:

root@kitploit:~
transport_count

و:

root@kitploit:~
transport_addr_list

يثق النظام الفرعي التشخيصي لاحقًا بالعدّاد الملتفّ عند حساب حجم مخزن الاستجابة، بينما لا يزال يمرّ عبر القائمة الكاملة لعناوين الأقران.


🔬 السبب الجذري

يمكن تمثيل الثغرة كما يلي:

root@kitploit:~
                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

ينص الإشعار الأصلي تحديدًا على أن الناقل رقم 65,536 يلفّ العدّاد إلى الصفر.


🧠 لماذا يحدث الخلل

يعتمد الكود التشخيصي فعليًا على رؤيتين مختلفتين لنفس الحالة.

جانب التخصيص

root@kitploit:~
transport_count
       │
       ▼
payload size

جانب النسخ

root@kitploit:~
transport_addr_list
       │
       ▼
copy every peer address

بعد التفاف العدد الصحيح:

root@kitploit:~
transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

لذلك يحجز المخصّص مساحة بناءً على:

root@kitploit:~
0 peers

بينما لا تزال عملية النسخ قادرة على معالجة:

root@kitploit:~
65536 peer addresses

ينتج عن هذا التعارض انتهاك سلامة الذاكرة.


💥 إفساد الذاكرة

يصف إشعار نواة Linux التفريغ التشخيصي الناتج بأنه يحجز حمولة فارغة ثم يكتب ما يقارب 8 ميبي بايت من عناوين الأقران بعد نهاية skb.

من الناحية المفاهيمية:

root@kitploit:~
Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

تصنّف Red Hat هذا العيب بأنه CWE-787: كتابة خارج الحدود.


🔎 مسار الكود المصاب

يمكن تلخيص المسار ذي الصلة كما يلي:

root@kitploit:~
SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

ملف المصدر المتأثر هو:

root@kitploit:~
net/sctp/associola.c

يحدد إعلان CVE الخاص بنواة Linux هذا الملف صراحةً.


🩹 الإصلاح الأصلي

الإصلاح الأصلي هو:

root@kitploit:~
bd0e9289e2642f6a5c54faad304ce0f41e926d22

الـ commit:

root@kitploit:~
sctp: prevent peer transport count overflow

يرفض الإصلاح القرين الفريد الجديد عندما:

root@kitploit:~
transport_count >= U16_MAX

والأهم أن الفحص يحدث بعد البحث عن القرين الموجود.

يحافظ ذلك على القدرة على استرجاع ناقل موجود بالفعل حتى عندما يصل الارتباط إلى الحد الأقصى.


🛡️ منطق الترقيع

مصاب

root@kitploit:~
New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

مُرقّع

root@kitploit:~
New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

الخاصية الأمنية المهمة هي منع العدّاد من الالتفاف أبدًا مع الحفاظ على دلالات البحث الطبيعية لقرين موجود.


📊 مصاب مقابل مُرقّع


💥 التأثير الأمني

قد يؤدي إفساد الذاكرة إلى:

  • انهيار النواة
  • حجب الخدمة
  • إفساد ذاكرة النواة
  • كتابة خارج الحدود في النواة
  • تصعيد صلاحيات محتمل
  • تنفيذ كود في النواة محتمل

تشير أبحاث منشورة بعد الإفصاح إلى استغلال محلي بصلاحيات root في ظروف محددة، بينما يستخدم تقييم Linux Kernel CNA الأصلي AV:L/AC:H/PR:L/UI:N.

تُوصف الثغرة أيضًا بأنها قد تكون قابلة للوصول عن بُعد في ظروف محددة جدًا تتعلق بـ SCTP/إعداد العناوين، لكن لا ينبغي اعتبار ذلك مكافئًا لثغرة قابلة للاستغلال عن بُعد بشكل عام.


🧪 بيئة البحث

طوبولوجيا معزولة موصى بها:

root@kitploit:~
┌───────────────────────────────────────────┐
│              Linux VM                    │
│                                           │
│       ┌───────────────────┐               │
│       │   SCTP Association │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │ Multiple SCTP      │               │
│       │ Peer Transports    │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │   SCTP sock_diag   │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│          INET_DIAG_PEERS                  │
│                                           │
└───────────────────────────────────────────┘

أدوات مفيدة:

root@kitploit:~
ip sctp
ss
ss -a
ss -A sctp
dmesg -w
gdb
pwndbg
crash

تحقق من دعم SCTP:

root@kitploit:~
lsmod | grep sctp

تحقق من إعدادات النواة:

root@kitploit:~
grep CONFIG_IP_SCTP /boot/config-$(uname -r)

🔎 التحقق من النواة

تحقق من النواة قيد التشغيل:

root@kitploit:~
uname -r

تحقق من إعدادات SCTP:

root@kitploit:~
grep -E 'CONFIG_IP_SCTP|CONFIG_SCTP' \
/boot/config-$(uname -r)

تحقق من وحدات SCTP المحمّلة:

root@kitploit:~
lsmod | grep -i sctp

افحص مقابس SCTP:

root@kitploit:~
ss -A sctp

🧪 سير عمل إعادة الإنتاج

لبحث نواة مُتحكَّم به:

root@kitploit:~
01. Build vulnerable kernel
          ↓
02. Boot isolated VM
          ↓
03. Enable SCTP
          ↓
04. Create controlled SCTP association
          ↓
05. Populate unique peer transports
          ↓
06. Reach transport-count boundary
          ↓
07. Trigger SCTP diagnostic dump
          ↓
08. Monitor skb diagnostics
          ↓
09. Capture kernel behavior
          ↓
10. Apply upstream fix
          ↓
11. Repeat test
          ↓
12. Compare vulnerable vs patched

راقب مخرجات النواة:

root@kitploit:~
sudo dmesg -w

للتنقيح:

root@kitploit:~
gdb vmlinux

أو:

root@kitploit:~
pwndbg vmlinux

📂 هيكل المستودع

root@kitploit:~
CVE-2026-74469-DiagSpill/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── sctp-transport-count.md
│   ├── sock-diag.md
│   ├── skb-overflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🛡️ التخفيف

التخفيف الأساسي هو الترقية إلى نواة تحتوي على الإصلاح الأصلي.

لـ Debian/Kali:

root@kitploit:~
sudo apt update
sudo apt full-upgrade

ثم أعد التشغيل:

root@kitploit:~
sudo reboot

تحقق:

root@kitploit:~
uname -r

إذا لم تكن هناك حاجة إلى SCTP، يمكن للمسؤولين أيضًا التفكير في تعطيل وظيفة SCTP المتأثرة وفقًا لبيئتهم ومتطلباتهم التشغيلية. تدرج الأبحاث المنشورة تحديدًا تعطيل SCTP / sctp_diag كتخفيف فوري عندما تكون هذه المكوّنات غير مستخدمة.


📦 إصدارات النواة المُصلَحة

يسرد إعلان الاستقرار الأصلي هذه الإصدارات المُصلَحة:

هذه الإصدارات من إعلان CVE الخاص بنواة Linux؛ قد تقوم التوزيعات بنقل الإصلاح إلى حزم بأرقام إصدارات مختلفة.


🧩 دروس أمنية

01 — لا تسمح أبدًا للعدّادات المحدودة بالالتفاف بصمت

العدّاد بعرض 16 بت له حد أقصى صارم:

root@kitploit:~
U16_MAX = 65535

يجب أن يتعامل الكود الحساس أمنيًا مع هذا الحد بشكل صريح.

02 — يجب أن تتوافق أعداد التخصيص والنسخ

يجب أن يتوافق الحجم المستخدم لتخصيص مخزن مع عدد الكائنات المنسوخة فعليًا إليه.

03 — الواجهات التشخيصية حساسة أمنيًا

قد تصبح واجهات التشخيص في النواة أسطح هجوم لإفساد الذاكرة عندما تصبح الحالة الداخلية غير متسقة.

04 — أخطاء الأعداد الصحيحة قد تصبح أخطاء سلامة ذاكرة

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

05 — حالة الشبكات في النواة معقدة

قد تحتوي ارتباطات SCTP على مجموعات كبيرة من ناقلات الأقران، مما يجعل حدود العدّادات ومنطق إدارة القوائم أمرًا حساسًا أمنيًا.


📚 المراجع

  • CVE: CVE-2026-74469
  • الاسم الرمزي: DiagSpill
  • النظام الفرعي: Linux SCTP
  • الملف المتأثر: net/sctp/associola.c
  • الدالة الأساسية: sctp_assoc_add_peer()
  • الإصلاح: sctp: prevent peer transport count overflow
  • الإصلاح الأصلي: bd0e9289e2642f6a5c54faad304ce0f41e926d22
  • CWE: CWE-787 / كتابة خارج الحدود
  • إشعار CVE الخاص بنواة Linux: CVE-2026-74469 advisory
  • متتبع أمان Debian: CVE-2026-74469 Debian tracker
  • Red Hat: CVE-2026-74469 Red Hat advisory

⚡ DiagSpill

CVE-2026-74469

Linux Kernel · SCTP · sock_diag · OOB Write · Kernel Security


Research • Analyze • Reproduce • Harden


0xBlackash

تنزيل الأداة
الحقلالتفاصيل
CVECVE-2026-74469
الاسم الرمزيDiagSpill
المكوّنLinux Kernel
النظام الفرعيSCTP / sock_diag
الملف المتأثرnet/sctp/associola.c
الدالة الأساسيةsctp_assoc_add_peer()
فئة الخللتجاوز سعة عدد صحيح / كتابة خارج الحدود
التأثيرإفساد ذاكرة النواة
التأثير المحتملتصعيد صلاحيات محلي
CVSS v3.17.0 — مرتفع
متجه الهجوممحلي
تعقيد الهجوممرتفع
الصلاحيات المطلوبةمنخفضة
تفاعل المستخدملا يوجد
الحالةمُرقّعة
الخاصية الأمنيةمصابمُرقّع
فرض حد النقل بعرض 16 بت❌✅
منع التفاف العدّاد❌✅
بقاء الأقران الموجودين قابلين للاستخدام✅✅
موثوقية حجم الحمولة التشخيصية❌✅
منع الكتابة خارج الحدود في skb❌✅
تخفيف إفساد ذاكرة النواة❌✅
الفرعالإصدار المُصلَح
5.105.10.265
5.155.15.216
6.16.1.183
6.66.6.151
6.126.12.103
6.186.18.44
7.17.1.8
7.27.2-rc6