CVE-2026-14368 in Zephyrالمعلومات

الملخص

بحسب VulDB • 31/08/2026

يحتوي مُنسق محتوى LwM2M JSON على ثغرة في دالة `get_string()` الموجودة في الملف `subsys/net/lib/lwm2m/lwm2m_rw_json.c`، حيث تقوم بنسخ سلسلة نصية (JSON) تم تحليلها إلى مخزن مؤقت يُزود من قبل المتصل وتُنهيها بفاصلة صفرية (NUL-terminates). الحارس الطولي المستخدم هو الشرط `if (string_length > buflen)`، والذي يقبل سلاً بطول يساوي بالضبط `buflen`. بعد أن يملأ `memcpy()` المخزن المؤقت بالكامل، تقوم العبارة `buf[string_length] = '\0'` بكتابة بايت واحد خارج نهاية المخزن المؤقت (CWE-787).

يتم أخذ قيمة السلسلة وطولها مباشرة من حمولة CoAP الواردة أثناء عملية LwM2M WRITE: حيث يقوم `do_write_op_json()` بتحليل الحمولة المستلمة من `coap_packet_get_payload()،` وتُستدعى دالة `get_string()` من خلال `lwm2m_write_handler()` (تحديداً `engine_get_string()` في الملف `subsys/net/lib/lwm2m/lwm2m_message_handling.c`) لمورد من النوع LWM2M_RES_TYPE_STRING. يكون المخزن المؤضي الوجهة (`buf/buflen` إما مخزن البيانات الثابت الخاص بنسخة المورد (`res_inst->data_ptr/max_data_len`) أو مخزن التحقق من صحة المحرك (`msg->ctx->validate_buf`). وبالتالي، يمكن لخادم LwM2M (القريب لعميل DTLS) كتابة مورد سلسلة نصية بقيمة يساوي طولها حجم المخزن المؤضي المستهدف وإجبار حدوث تجاوز للحدود بمقدار بايت واحد.

يتمثل التجاوز في عملية كتابة واحدة خارج النطاق (out-of-bounds write) للبايت الثابت `0x00` مباشرةً بعد مخزن المورد أو التحقق من الصحة، مما يؤدي إلى تلف البايت المجاور في الذاكرة. إنه ليس تسريباً للمعلومات والقيمة المكتوبة ثابتة، لذا فهي ليست آلية تنفيذ كود مباشر، لكنها يمكن أن تفسد الحالة المجاورة (مثل قيمة مورد مجاور، حقل طول/علم flag، أو حقل بنية struct) وتسبب تلف البيانات أو تعطل النظام. يعد تشغيل عملية الكتابة أمراً حتمياً؛ ويعتمد الأثر الناتج على ترتيب الذاكرة.

يغير الإصلاح الحارس ليصبح `string_length >= buflen`، مما يرفض حالة الطول المتساوي ويوحد منسق JSON مع المنسقات الأخرى (`lwm2m_rw_plain_text.c`, `lwm2m_rw_oma_tlv.c`, `lwm2m_rw_senml_json.c`, `lwm2m_rw_cbor.c`, `lwm2m_rw_senml_cbor.c`)، والتي كانت تستخدم بالفعل فحص الحدود الصحيح.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Zephyr

حجز

01/07/2026

إفشاء

31/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-397414

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!