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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/rjt-gupta/page-cache-corruption-lpes
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالCTFالتعلم والتعليماستغلال الملفات الثنائية
GitHubrjt-gupta/page-cache-corruption-lpes

page-cache-corruption-lpes

CVE-2026-46331 و CVE-2026-43503

عرض المستودع
123منذ 28 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرات تصعيد الامتيازات المحلية بفساد ذاكرة التخزين المؤقت للصفحات

3 استغلالات لتصعيد الامتيازات المحلية في نواة لينكس. نفس فئة الثغرات مثل Dirty COW و Dirty Pipe. شل جذر في ثوانٍ. جميع التوزيعات الرئيسية متأثرة.

كل الثلاثة تُفسد ذاكرة التخزين المؤقت للصفحات في النواة — النسخة الموجودة في الذاكرة من الملفات التي تقرؤها وتنفّذها العمليات فعليًا. لا يتم لمس الملف الموجود على القرص إطلاقًا. أدوات تكامل الملفات لا ترى شيئًا. execve("/usr/bin/su") يُحمَّل من ذاكرة التخزين المؤقت ← ينفّذ الشيل كود الخاص بك ← جذر.


الاستغلالات

الاستغلالCVEالآليةالوقت حتى الجذرالأسطر
Dirty PeditCVE-2026-46331فجوة COW في TC pedit (التفاف u32)أقل من ثانية275
skb_shiftCVE-2026-43503فقدان علم نقل جزء TCP SACK~10 ثوانٍ500
GRO Flag LossCVE-2026-43503فقدان علم نقل الجزء أثناء دمج GRO~10 ثوانٍ550

كل الثلاثة: من مستخدم غير مميز ← جذر. لا صلاحيات خاصة. فقط مساحات المستخدم (User namespaces).


ما هي فئة الثغرة؟

كل استغلال في هذا المستودع يتبع النمط نفسه:

root@kitploit:~
1. Get page-cache pages into a kernel buffer (splice)
2. Bypass the copy-on-write defense
3. Write in-place → read-only file corrupted in memory

ما يختلف هو كيفية تجاوز الدفاع وما الذي ينفّذ الكتابة:


السلالة

root@kitploit:~
2016  Dirty COW         COW race via mmap + fork
2022  Dirty Pipe        Stale PIPE_BUF_FLAG_CAN_MERGE in splice
2026  Copy Fail         AF_ALG in-place AEAD on page-cache scatterlist
2026  Dirty Frag        ESP skip_cow on splice'd frags (missing flag)
2026  Fragnesia         skb_try_coalesce drops SHARED_FRAG flag
2026  Dirty Pedit  ←    TC pedit COW gap, no crypto needed
2026  skb_shift    ←    TCP SACK drops SHARED_FRAG, ESP writes
2026  GRO Flag Loss ←   GRO merge drops SHARED_FRAG, ESP writes

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

إعدادات افتراضية. لا حاجة إلى أي تحصين لتكون عرضة. إذا كنت تشغّل لينكس، فأنت متأثر.


لماذا يختلف Dirty Pedit؟

يستخدم كلا الاستغلالين skb_shift وGRO أسلوب الاستغلال نفسه: فقدان علم SKBFL_SHARED_FRAG، ثم ترك تشفير ESP يقوم بعملية XOR داخل صفحات ذاكرة التخزين المؤقت للصفحات بايتًا واحدًا في كل مرة باستخدام جدول بحث IV محسوب مسبقًا.

Dirty Pedit هو وحش مختلف تمامًا:

  • لا تشفير. لا XFRM ولا ESP ولا AES-GCM ولا جداول IV.
  • كتابة مباشرة. يكتب TC pedit البايتات التي تحددها بالضبط عبر skb_store_bits.
  • أقل من ثانية. حزمة واحدة = كتابة 12 بايت. جذر من طلقة واحدة.
  • تجاوز دفاع مختلف. لا يلمس SHARED_FRAG إطلاقًا — يكسر skb_ensure_writable عبر التفاف الأعداد الصحيحة.

البناء

root@kitploit:~
# Build all three
cd dirty_pedit && gcc -static -O2 -o exploit exploit.c && cd ..
cd skb_shift   && gcc -static -O2 -o exploit exploit.c && cd ..
cd gro         && gcc -static -O2 -o exploit exploit.c && cd ..

كل استغلال هو ملف C واحد مكتفٍ بذاته. لا تبعيات تتجاوز libc.


التشغيل

root@kitploit:~
# Any of the three (as unprivileged user):
./exploit
# → root shell

المتطلبات: نواة لينكس ضمن نطاق الإصدارات المتأثرة + CONFIG_USER_NS=y (افتراضي في جميع التوزيعات الرئيسية).


المخرجات (Dirty Pedit)

root@kitploit:~
[*] Dirty Pedit — Local Privilege Escalation
[*] uid=1000 pid=42
[*] Victim line at offset 186: nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
[*] Injecting user 'a' (uid=0, no password) over victim line...
[+] User 'a' injected with uid=0!
[+] Running: su a
# id
uid=0(root) gid=0(root) groups=0(root)

المخرجات (skb_shift / GRO)

root@kitploit:~
[*] uid=1000 euid=1000
[*] IV table pre-computed (256 entries)
[*] Writing 192 bytes to /usr/bin/su...
  [120] 0x00→0x48 ... OK
  [121] 0x00→0x31 ... OK
[*] Write complete: 192/192
[!] /usr/bin/su page cache overwritten!
# whoami
root

الخصائص الرئيسية


الإفصاح المسؤول

تم الإفصاح عن جميع الثغرات بشكل مسؤول لفريق أمن نواة لينكس ومطوّري الشبكات. تم دمج التصحيحات في المصدر الأساسي (upstream) وترحيلها إلى الفروع المستقرة.

  • CVE-2026-46331: أُصلحت في v7.1-rc7، الالتزام 899ee91156e5
  • CVE-2026-43503: أُصلحت في v7.1-rc5، الالتزام 48f6a5356a33

نُشرت هذه الاستغلالات لأغراض تعليمية ودفاعية بعد توفر التصحيحات. فساد ذاكرة التخزين المؤقت للصفحات يقتصر على الذاكرة فقط — إعادة التشغيل أو echo 1 > /proc/sys/vm/drop_caches يستعيد الملفات الأصلية.


المؤلف

راجات غوبتا — الأمن الهجومي @ كوالكوم


الترخيص

MIT

تنزيل الأداة
الاستغلالالدفاع الذي تم تجاوزهالكاتب
Dirty Peditskb_ensure_writable (التفاف u32 ← COW جزئي)skb_store_bits (كتابة مباشرة لأربعة بايتات)
skb_shiftفقدان علم SKBFL_SHARED_FRAG أثناء TCP SACKفك تشفير ESP AES-GCM (بايت واحد لكل حزمة)
GRO Flag Lossفقدان علم SKBFL_SHARED_FRAG أثناء دمج GROفك تشفير ESP AES-GCM (بايت واحد لكل حزمة)
الاستغلالأُدخل فيأُصلح فيالتوزيعات المتأثرة
Dirty Peditv5.18 (مايو 2022)v7.1-rc7Ubuntu, RHEL, Debian, Fedora, SUSE
skb_shiftv3.9 (2013)v7.1-rc5كل توزيعة منذ 13 عامًا
GRO Flag Lossv3.9 (2013)v7.1-rc5كل توزيعة منذ 13 عامًا
الخاصيةDirty Peditskb_shiftGRO
الامتيازاتلا شيء (userns)لا شيء (userns)لا شيء (userns)
الوصول إلى الملفO_RDONLYO_RDONLYO_RDONLY
التشفير المطلوبلانعم (AES-GCM)نعم (AES-GCM)
التحكم في الكتابة4 بايتات/حزمةبايت واحد/حزمةبايت واحد/حزمة
الموثوقيةحتميحتمياحتمالي (إعادة محاولة)
الهروب من حاوية K8sلا (لا حاجة إلى veth)لانعم (veth+GRO افتراضي)
سطح الهجومgeneve + TCloopback + espintcpveth + ESP-in-UDP