Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-46331-audit — cve-2026-46331-audit script | Kitploit
أدوات/GitHubGitHub/quaerendir/cve-2026-46331-audit
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتحقيق الجنائي الرقميالأوراق والأبحاثالتعلم والتعليمالاستجابة للحوادث
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

cve-2026-46331-audit script

عرض المستودع
25منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

cve-2026-46331-audit

CVE Name CVSS Disclosed Shell License Version CI

سكربت تدقيق للقراءة فقط خاص بـ CVE-2026-46331 (المعروف أيضًا بـ pedit COW) — خلل في النسخ عند الكتابة الجزئي (partial copy-on-write) في إجراء act_pedit ضمن net/sched في نواة لينكس، يتيح لمستخدم محلي غير متمتع بامتيازات إفساد ذاكرة ذاكرة التخزين المؤقت للصفحات (page cache) والارتقاء إلى صلاحيات الجذر (root).

   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

باختصار

يحسب tcf_pedit_act() نطاق COW الخاص بـ skb_ensure_writable() مرة واحدة قبل حلقة المفاتيح، باستخدام tcfp_off_max_hint. تضيف المفاتيح المكتوبة (Typed keys) إزاحة رأس وقت التشغيل لا يغطيها التلميح، لذا يقع جزء من الكتابة النهائية خارج المنطقة المنسوخة عند الكتابة (COW'd region). النتيجة: تتعرض صفحات ذاكرة التخزين المؤقت المشتركة للكتابة العشوائية، ويمكن تسميم ملف ثنائي setuid مخزّن مؤقتًا (الهدف الكلاسيكي: /bin/su) في الذاكرة. تبقى تجزئات القرص نظيفة. لن ترصدها مراقبات سلامة الملفات.

من نفس عائلة ثغرة Dirty COW (CVE-2016-5195)، وDirty Pipe (CVE-2022-0847)، وCopy Fail (CVE-2026-31431)، وDirty Frag (CVE-2026-46300). نقطة الدخول مختلفة، لكن فشل ملكية الصفحة هو نفسه.

CVECVE-2026-46331
المكوّننواة Linux net/sched / act_pedit
الفئةCOW جزئي ← تلف ذاكرة التخزين المؤقت للصفحات ← رفع الصلاحيات المحلي (LPE)
ناقل الهجوممحلي (CAP_NET_ADMIN، يُكتسب عادةً عبر userns غير مميّز)
الإصدارات المتأثرة في المنبع5.18 .. 7.1-rc6
إصلاح المنبع7.1-rc7
PoC عامpacket_edit_meme (تم التحقق منه على RHEL 10، Debian 13، Ubuntu 24.04.4)
خطورة Red HatImportant
SUSE CVSS 3.17.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)

ما الذي يفعله هذا السكربت

فرز للقراءة فقط بشكل صارم. لا يحمّل وحدة أبدًا، ولا يمسّ sysctl، ولا ينفّذ PoC. مصمم ليكون آمنًا للتشغيل على بيئات الإنتاج.

  • يجرد النواة قيد التشغيل، والتوزيعة، وإصدار حزمة النواة.
  • يفحص إمكانية الوصول إلى act_pedit عبر أربع إشارات مستقلة:
    • محمّلة حاليًا (lsmod)
    • قابلة للتحميل عند الطلب (modinfo)
    • مدمجة في النواة قيد التشغيل (/boot/config-$(uname -r)، /proc/config.gz، modules.builtin)
    • محجوبة بواسطة تجاوز install ... /bin/true في modprobe.d، أو بواسطة blacklist على النوى التي تحمّل act_pedit تلقائيًا عبر اسمه المستعار net-act-pedit (6.9+؛ النوى الأقدم تطلبه بالاسم، وهو ما لا يوقفه blacklist)
  • يسرد قواعد tc action pedit الموجودة (لأغراض معلوماتية؛ دون أي تغييرات).
  • يقرأ بوابات userns / netns: user.max_user_namespaces، kernel.unprivileged_userns_clone، user.max_net_namespaces، وقيود userns الخاصة بـ AppArmor في Ubuntu.
  • مصفوفة ترقيع تجريبية للمورّد وفقًا لـ /etc/os-release (RHEL 8/9/10، Debian 11/12/13/14، Ubuntu 18.04→26.04، SUSE، Amazon Linux، عائلة Arch المتدحرجة).
  • بحث سلوكي اختياري عن مؤشرات الاختراق (IoC) عبر auditd وjournalctl (نافذة قابلة للضبط عبر --since و--until).
  • درجة مخاطر من 0-100 وحكم نهائي: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • رموز خروج مصممة لتنسيق الأسطول.

الاستخدام

sudo ./cve-2026-46331-audit.sh                       # full text report
sudo ./cve-2026-46331-audit.sh --json                # machine-readable JSON, no banner
sudo ./cve-2026-46331-audit.sh --quiet --no-hunt     # one-line verdict for mass scans
sudo ./cve-2026-46331-audit.sh --since 2026-06-01    # widen IoC hunt window
sudo ./cve-2026-46331-audit.sh --since 2026-06-01 --until 2026-09-01  # bounded IoC window
sudo ./cve-2026-46331-audit.sh --no-banner           # text report without the ASCII banner
./cve-2026-46331-audit.sh --version                  # print script version and exit

رموز الخروج

الرمزالمعنى
0PATCHED أو NOT_APPLICABLE (نواة أقدم من الخطأ)
1MITIGATED (التخفيف نشط، النواة لا تزال عرضة، ثبّت الترقيع على أي حال)
2VULNERABLE (تحقق شرط أساسي واحد أو أكثر، لا توجد نواة مُصلحة)
3UNKNOWN (تعامل معه كمشتبه به في سياقات المشاركة / CI / Kubernetes)
4ERROR (تعذّر تشغيل السكربت؛ أدوات مفقودة أو بيئة غير سليمة)

مخرجات نموذجية

راجع examples/sample-output.txt للحصول على تشغيل كامل، وexamples/sample-output.json للاطلاع على صيغة JSON.

نموذج تقييم المخاطر

الدرجة هي مزيج مرجّح من:

الإشارةالوزن
حكم المورّد VULNERABLE+50
حكم المورّد UNKNOWN+30
act_pedit مدمج في النواة+25
act_pedit قابل للتحميل، دون تجاوز+20
act_pedit قابل للتحميل، التجاوز أو القائمة السوداء نشطة+5
act_pedit محمّل حالياً+5
userns+netns غير مميّز قابل للوصول، دون بوابة AppArmor+15
userns+netns غير مميّز قابل للوصول، بوابة AppArmor نشطة+8
تم العثور على مؤشرات اختراق (IoCs) في نافذة البحث+10

بحد أقصى 100. أي شيء فوق ~70 يجب التعامل معه كأمر عاجل على عُقد متعددة المستأجرين / CI / Kubernetes؛ وما دون ~20 عادةً ما يكون تأكيداً على أن المضيف سليم.

النشر الجماعي

Ansible

ansible -i inventory all -m script \
  -a "cve-2026-46331-audit.sh --json --quiet --no-hunt" \
  --become \
  | tee /tmp/audit.jsonl

ثم جمّع باستخدام jq:

grep -v '^[a-z]' /tmp/audit.jsonl | jq -s 'group_by(.verdict) | map({verdict: .[0].verdict, hosts: length})'

Failed_when في play

- name: audit CVE-2026-46331
  ansible.builtin.script: cve-2026-46331-audit.sh --quiet --no-hunt
  register: audit
  failed_when: audit.rc == 2
  changed_when: false

التخفيفات (إذا كنت بحاجة إلى تأخير الترقيع)

بالترتيب من الأفضل إلى الأقل تفضيلاً. سيوصي السكربت بالخيار المناسب بناءً على ما وجده.

# Option 1: block act_pedit if you don't use it.
tc actions list action pedit                  # MUST be empty before doing this

# 1a) Hard block via modprobe install override (strongest).
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf

# 1b) `blacklist act_pedit` only stops the autoload on kernels 6.9+, which
#     request the "net-act-pedit" alias. Older kernels load it by name and
#     ignore the blacklist, so prefer 1a. Check your kernel:
modinfo -F alias act_pedit | grep -qx net-act-pedit && echo "blacklist works here"

lsmod | grep -q act_pedit && sudo rmmod act_pedit
# Option 2: restrict unprivileged user namespaces.
# Will break rootless Podman/Docker, browser sandboxes, Flatpak, unprivileged unshare, some CI sandboxes.
sudo sysctl -w user.max_user_namespaces=0           # EL-family
sudo sysctl -w kernel.unprivileged_userns_clone=0   # Debian/Ubuntu

# Option 2b: restrict network namespaces (breaks the CAP_NET_ADMIN acquisition path).
# Less disruptive than disabling all user namespaces, but still breaks some container tooling.
sudo sysctl -w user.max_net_namespaces=0

الإصلاح الحقيقي هو تحديث نواة من المورّد مع إعادة تشغيل. uname -r بعد إعادة التشغيل هو الشيء الوحيد الذي يثبت ذلك.

سياق عائلة الثغرات

تنزيل الأداة