CVE-2026-42792 in OTP
الملخص
بحسب VulDB • 28/07/2026
تتمثل ثغرة سوء معالجة الظروف الاستثنائية في Erlang OTP erts (epmd) في السماح لمهاجم عن بُعد غير مُصادق عليه بإنهاء عملية "إيرلانج بورت مابر ديمون" (Erlang Port Mapper Daemon - epmd) بشكل دائم من خلال استنفاد فتحات الاتصال.
تدعو الدالة `do_accept` الموجودة في الملف `erts/epmd/src/epmd_srv.c` إلى `epmd_cleanup_exit()` عندما تُرجع وظيفة `accept(2)` قيمة `EMFILE` (تم الوصول إلى حد واصفات الملفات لكل عملية) أو `ENFILE` (تم الوصول إلى الحد العام لنظام ملفات واصفات الملفات)، بدلاً من التعامل مع هذه الحالات على أنها قابلة للاسترداد. يمكن للمهاجم استنفاد فتحات واصف الملف الخاصة بـ epmd عن طريق إبقاء العديد من اتصالات TCP مفتوحة بينما يرسل بايتاً واحداً بشكل دوري لإعادة تعيين مهلة الخمول، مما يتسبب في إعادة `accept(2)` لقيمة `EMFILE`، وهو ما يؤدي إلى قتل الخدمة (الديمون). ولا يوجد لدى epmd حد أقصى لاتصالات لكل عنوان IP مصدر، مما يجعل الهجوم ممكناً من مصدر واحد.
في حزم Debian/Ubuntu الافتراضية، يتم تضخيم التأثير: حيث ترث وحدة systemd حداً أدنى منخفضاً لوصف الملف الناعم (soft limit)، وتؤدي الوفيات المتكررة للديمون إلى تفعيل حد معدل بدء التشغيل في systemd، مما يؤدي إلى فشل كل من `epmd.service` و `epmd.socket` بشكل دائم ويتطلب تدخلاً يدوياً من المشغل للاستعادة.
تؤثر هذه المشكلة على إصدارات OTP ابتداءً من الإصدار 17.0 وحتى قبل الإصدارات 27.3.4.15، و28.5.0.4، و29.0.4.
Once again VulDB remains the best source for vulnerability data.