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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS- — إثبات مفهوم لاستغلال CVE-2026-32707، وهو تجاوز سعة المخزن المؤقت للمكدس في برنامج تشغيل tattu_can الخاص بـ PX4-Autopilot، مما يتسبب في رفض الخدمة عبر إطارات CAN مصممة خصيصًا. | Kitploit
أدوات/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقأمان الأجهزة وإنترنت الأشياءاستغلال الملفات الثنائية
GitHubmbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS-

إثبات مفهوم لاستغلال CVE-2026-32707، وهو تجاوز سعة المخزن المؤقت للمكدس في برنامج تشغيل tattu_can الخاص بـ PX4-Autopilot، مما يتسبب في رفض الخدمة عبر إطارات CAN مصممة خصيصًا.

عرض المستودع
6منذ 4 أشهرلم تتم المراجعة بعد

CVE-2026-32707 CVSS CWE Python Platform License Author

CVE-2026-32707 - تجاوز سعة المخزن المؤقت في مكدس tattu_can في PX4-Autopilot (رفض الخدمة)

root@kitploit:~
╔════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                            ║
║   ██████╗  █████╗ ███╗   ██╗██╗   ██╗ █████╗ ███╗   ███╗███████╗██████╗                     ║
║   ██╔══██╗██╔══██╗████╗  ██║╚██╗ ██╔╝██╔══██╗████╗ ████║██╔════╝██╔══██╗                    ║
║   ██████╔╝███████║██╔██╗ ██║ ╚████╔╝ ███████║██╔████╔██║█████╗  ██████╔╝                    ║
║   ██╔══██╗██╔══██║██║╚██╗██║  ╚██╔╝  ██╔══██║██║╚██╔╝██║██╔══╝  ██╔══██╗                    ║
║   ██████╔╝██║  ██║██║ ╚████║   ██║   ██║  ██║██║ ╚═╝ ██║███████╗██║  ██║                    ║
║   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝   ╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝                    ║
║                                                                                            ║
║                         [ b a n y a m e r _ s e c u r i t y ]                              ║
║                                                                                            ║
║                  ▸ Silent Hunter  |  Shadow Presence  |  Digital Intel ◂                  ║
║                                                                                            ║
║   Operator : Mohammed Idrees Banyamer  •  Jordan 🇯🇴                                       ║
║   Handle   : @banyamer_security                                                           ║
║                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝

الوصف

يحتوي هذا المستودع على إثبات مفهوم (PoC) لاستغلال ثغرة CVE‑2026‑32707، وهي تجاوز سعة مخزن مؤقت قائم على المكدس في برنامج تشغيل tattu_can الخاص ببرنامج التحكم في الطيران PX4‑Autopilot (الإصدارات ≤ 1.17.0‑rc1). تكمن الثغرة في روتين تجميع الرسائل متعددة الإطارات: عند إعادة تجميع بنية Tattu12SBatteryMessage على المكدس، يقوم برنامج التشغيل بعمليات memcpy() غير محدودة دون التحقق من الإزاحة التراكمية مقابل حجم المخزن المؤقت (48 بايت). يمكن للمهاجم القادر على حقن إطارات CAN في نفس الناقل أن يطلق العنان لتجاوز السعة، مما يتسبب في تلف المكدس وانهيار لاحق (رفض الخدمة) لعملية PX4.

مخطط تدفق الهجوم

root@kitploit:~
sequenceDiagram
    participant Attacker as Attacker (CAN Node)
    participant CANbus as CAN Bus
    participant PX4 as PX4 Autopilot (tattu_can)
    
    Attacker->>CANbus: 1. Start frame (DLC=8, data[7]=0x80)
    CANbus->>PX4: Start-of-transfer received
    PX4->>PX4: tattu_message buffer (48 bytes)<br/>Copy offset=5 bytes
    
    loop Overflow frames (7x)
        Attacker->>CANbus: Overflow frame (DLC=8, payload 7 bytes)
        CANbus->>PX4: memcpy(dest+offset, payload, 7)
        PX4->>PX4: offset += 7
    end
    
    Attacker->>CANbus: Final overflow frame (DLC=8)
    CANbus->>PX4: memcpy(dest+offset, payload, 7)
    PX4->>PX4: offset > 48 → STACK OVERFLOW
    PX4-->>PX4: Crash (segfault / hard fault)
    Note over PX4: Denial of Service

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

  • المتأثرة: إصدارات PX4‑Autopilot ≤ 1.17.0‑rc1 مع تمكين برنامج تشغيل tattu_can
  • المصححة: PX4‑Autopilot ≥ 1.17.0‑rc2 (الالتزام 3f04b7a)

المتطلبات

  • Python 3 مع مكتبة python-can
  • Linux مع دعم SocketCAN (معظم التوزيعات)
  • صلاحيات الجذر (CAP_NET_RAW) لإرسال إطارات CAN الخام
  • واجهة CAN (فيزيائية can0 أو افتراضية vcan0)

التثبيت

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/mbanyamer/CVE-2026-32707-PoC.git
cd CVE-2026-32707-PoC

# تثبيت python-can
pip3 install python-can

# (اختياري) إنشاء واجهة CAN افتراضية للاختبار
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

الاستخدام

root@kitploit:~
sudo python3 exploit.py <can_interface>

مثال

root@kitploit:~
# الاستغلال عبر واجهة CAN الافتراضية (للمحاكاة/الاختبار)
sudo python3 exploit.py vcan0

# الاستغلال عبر ناقل CAN فيزيائي
sudo python3 exploit.py can0

كيف يعمل الاستغلال

  1. إطار بدء النقل – يحتوي أول إطار CAN (DLC=8) على آخر بايت مضبوط على 0x80، مما يشير إلى برنامج التشغيل لبدء تجميع رسالة Tattu12SBatteryMessage جديدة ونسخ أول 5 بايتات في المخزن المؤقت للمكدس.
  2. إطارات التجاوز – يتم إرسال سبعة إطارات CAN لاحقة (كل منها DLC=8). ينسخ برنامج التشغيل 7 بايتات لكل إطار (DLC‑1) في المخزن المؤقت بدءًا من الإزاحة 5. بعد الإطار السابع، تتجاوز الإزاحة التراكمية 48 بايتًا.
  3. التحفيز النهائي – يؤدي إطار إضافي إلى تشغيل آخر memcpy() الذي يكتب بعد حدود المخزن المؤقت، مما يؤدي إلى إتلاف إطار المكدس.
  4. النتيجة – تتعطل عملية PX4 (خطأ تجزئة أو خطأ صلب). على وحدة تحكم طيران حقيقية، يؤدي هذا إلى رفض الخدمة (فقدان السيطرة).

المخرجات المتوقعة

root@kitploit:~
[*] Sending start-of-transfer frame on vcan0 (can_id=0x00000123)
[*] Sending 7 overflow frames (each copies 7 bytes)...
[*] Sending final overflow frame...
[+] Attack sequence completed. The PX4 tattu_can driver should now crash.

التخفيف

  • قم بتحديث PX4‑Autopilot إلى الإصدار 1.17.0‑rc2 أو أحدث.
  • قم بتعطيل برنامج تشغيل tattu_can إذا لم يكن مطلوبًا (tattu_can stop أو إزالته من البناء).
  • قم بتطبيق التصحيح يدويًا (تمت إضافة فحص الحدود في الالتزام 3f04b7a):
root@kitploit:~
while (receive(&received_frame) > 0) {
+   if (received_frame.payload_size == 0) {
+       break;
+   }
    size_t payload_size = received_frame.payload_size - 1;
-   // TODO: add check ...
+   if (offset + payload_size > sizeof(tattu_message)) {
+       break;
+   }
    memcpy(((char *)&tattu_message) + offset, received_frame.payload, payload_size);
    offset += payload_size;
}

المراجع

  • GitHub Security Advisory GHSA-wxwm-xmx9-hr32
  • التزام الإصلاح 3f04b7a
  • ملف المصدر المتأثر (قبل الإصلاح)
  • إدخال CVE-2026-32707 (NVD)

الاعتمادات

  • المكتشف ومؤلف إثبات المفهوم – Mohammed Idrees Banyamer
  • البلد – الأردن 🇯🇴
  • Instagram – @banyamer_security
  • GitHub – mbanyamer

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

يتم توفير إثبات المفهوم هذا لأغراض تعليمية واختبار الأمان فقط. استخدمه فقط على الأنظمة التي تملكها أو لديك إذن صريح لاختبارها. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا الكود.

تنزيل الأداة