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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
zephyr-lwm2m-firmware-update-oob-read-cve-2026-10672-truncated-package-uri — استغلال إثبات مفهوم لثغرة CVE-2026-10672، وهي ثغرة قراءة خارج حدود الذاكرة (out-of-bounds read) في عميل سحب تحديث البرامج الثابتة (firmware-update pull client) الخاص بـ Zephyr RTOS عبر LwM2M. يتضمن إعادة إنتاج مستقلة بلغة C وخادم CoAP/LwM2M خبيث لأغراض الاختبار. | Kitploit
أدوات/GitHubGitHub/hunt-benito/zephyr-lwm2m-firmware-update-oob-read-cve-2026-10672-truncated-package-uri
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
hunt-benito/zephyr-lwm2m-firmware-update-oob-read-cve-2026-10672-truncated-package-uri

zephyr-lwm2m-firmware-update-oob-read-cve-2026-10672-truncated-package-uri

استغلال إثبات مفهوم لثغرة CVE-2026-10672، وهي ثغرة قراءة خارج حدود الذاكرة (out-of-bounds read) في عميل سحب تحديث البرامج الثابتة (firmware-update pull client) الخاص بـ Zephyr RTOS عبر LwM2M. يتضمن إعادة إنتاج مستقلة بلغة C وخادم CoAP/LwM2M خبيث لأغراض الاختبار.

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

CVE-2026-10672 — Zephyr LwM2M إثبات مفهوم لقراءة خارج النطاق في تحديث البرامج الثابتة

إثبات مفهوم لـ CVE-2026-10672، وهي قراءة خارج النطاق في عميل سحب تحديث البرامج الثابتة LwM2M في Zephyr RTOS (subsys/net/lib/lwm2m/lwm2m_pull_context.c).

الثغرة

  • CVE: CVE-2026-10672
  • CVSS: 8.2 عالية (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L)
  • CWE: CWE-125 (قراءة خارج النطاق)
  • المكوّن: lwm2m_pull_context_start_transfer() في lwm2m_pull_context.c
  • السبب الجذري: تقوم memcpy(context.uri, uri, LWM2M_PACKAGE_URI_LEN) بنسخ 128 بايت بالضبط إلى char uri[128] بدون مُنهِئ NUL عندما يكون URI الحزمة المقدَّم من الخادم (/5/0/1) ≥ 128 بايت. بعد ذلك، تقرأ strlen(context.uri) و http_parser_parse_url() وملحق CoAP PROXY_URI ما وراء حدود المخزن المؤقت إلى ذاكرة البنية المجاورة (is_firmware_uri، ومؤشرات الدوال result_cb / write_cb، وسياق اتصال DTLS). يتم تسريب البايتات المقروءة خارج النطاق في طلب CoAP الصادر.
  • المخزن المؤقت: context.uri[128] (CONFIG_LWM2M_SWMGMT_PACKAGE_URI_LEN، القيمة الافتراضية 128؛ وLWM2M_PACKAGE_URI_LEN هو #define يشير إليها)
  • الإصدارات المتأثرة: Zephyr من v3.0.0 حتى v4.4.0 (إعادة هيكلة سياق السحب التي أدخلت النسخ صدرت لأول مرة في v3.0.0)
  • تم الإصلاح في: Zephyr v4.4.1 و v4.3.1
  • التزام الإصلاح: 99a164df5cea5af76e32b57c6d51854f018969a2 — يضيف التحقق strlen(uri) >= sizeof(context.uri) → -ENOMEM ويستبدل النسخ بـ strcpy().

المحتويات

الملفالغرض
poc.cإعادة إنتاج مستقلة بلغة C لمسارات الكود الهشّة/المصحّحة. تعيد تعريف بأمانة (المخزن المؤقت بالإضافة إلى الحقول المجاورة التي تتم قراءتها خارج النطاق) والمستهلك المُسرِّب CoAP .

البناء وتشغيل إعادة الإنتاج بلغة C

root@kitploit:~
gcc -O0 -g -o poc poc.c
./poc

متوقع: Package URI بحجم 200 بايت يُنتج خيار CoAP PROXY_URI بحجم 141 بايت — أي URI بحجم 128 بايت بالإضافة إلى 13 بايت مسرَّبة من context.is_firmware_uri وحشو البنية ومؤشرات الدوال result_cb/write_cb. مسار الكود المُصحَّح يرفض URI مع -ENOMEM ولا ينسخ شيئًا.

تأكيد ASan

root@kitploit:~
gcc -O0 -g -fsanitize=address -o poc-asan poc.c
./poc-asan

يخصّص البرنامج 128 بايت بالضبط، ويملأها ببايتات غير NUL (محاكاةً لـ context.uri ممتلئ بدون مُنهِئ)، ثم يستدعي strlen():

root@kitploit:~
ERROR: AddressSanitizer: heap-buffer-overflow
READ of size 129 at 0x...
0x... is located 0 bytes after 128-byte region [...,0x...)

تشغيل خادم LwM2M الخبيث

root@kitploit:~
# Build and inspect the CoAP packets without sending:
python3 lwm2m_evil_server.py --dry-run --uri-len 200

# Send to a vulnerable client (NoSec CoAP, UDP/5683):
python3 lwm2m_evil_server.py --target 10.0.0.42 --port 5683 --uri-len 200 --listen 2

يُصدر السكربت طلب CoAP PUT /5/0/1 (كتابة LwM2M لمورد Package URI) متبوعًا بطلب CoAP POST /5/0/2 (تنفيذ LwM2M Update، الذي يبدأ سحب البرنامج الثابت ويُطلق الثغرة). في بيئة LwM2M الإنتاجية تعمل الجلسة عبر DTLS (UDP/5684)؛ المهاجم ضمن النطاق هو خادم إدارة خبيث أو مخترَق، أو خصم على مسار الشبكة عندما لا يتم فرض مصادقة خادم DTLS.

المقال الكامل

https://www.hunt-benito.com/blog/zephyr-lwm2m-firmware-update-oob-read-cve-2026-10672-truncated-package-uri/

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

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

تنزيل الأداة
struct firmware_pull_context
uri[128]
PROXY_URI
lwm2m_evil_server.pyخادم CoAP/LwM2M بسيط يسلّم Package URI ذا الحجم الزائد إلى /5/0/1 لعميل هشّ عبر UDP (وضع NoSec) — وهو الجزء المسؤول عن التسليم عبر الشبكة في الهجوم. لا تبعيات خارجية.