CVE-2026-53994 in ProFTPD
الملخص
بحسب VulDB • 18/07/2026
يحتوي ProFTPD mod_sftp على تجاوز لسعة المخزن المؤقت المعتمد على الكومة (heap-based buffer overflow) يمكن الوصول إليه بواسطة مستخدم SFTP مُصادق عليه. تقبل الدالة fxp_packet_read() طول حزمة SFTP ذي الـ 32 بت ذات النهاية الكبيرة (big-endian) الذي يزوده المهاجم دون إجراء أي فحص أساسي للسلامة (sanity check). يؤدي القيمة 0 إلى حدوث تجاوز سالب (underflow) في عملية طرح غير موقعة أخرى داخل مسار القراءة، مما ينتج عنه قيمة تقارب 4 جيجابايت. تصل هذه الطلبات ذات الحجم الضخم إلى مُخصص الذاكرة الأساسي، حيث يتم حساب الحجم المُقرب باستخدام نوع البيانات size_t ولكن يُمرر إلى الدالة new_block() كعدد صحيح من 32 بت (int); وبما أن أقل 32 بتاً للقيمة 0x100000000 هي صفر، فإن new_block() تُرجع كتلة صغيرة (~512 بايت) بينما يُخبر المتصل أنه تلقى ~4 جيجابايت. بعد ذلك، تقوم حلقة التعبئة (fill loop) ببث بيانات يتحكم فيها المهاجم تتجاوز نهاية التخصيص البالغ 544 بايتاً، مما ينتج عنه تجاوز لسعة المخزن المؤقت المعتمد على الكومة يتم التحكم فيه من قبل المهاجم. يمكن لمستخدم مُصادق عليه إسقاط عملية الطفل الخاصة بجلسة ProFTPD المرتبطة بكل اتصال عند الطلب باستخدام حزمة SFTP واحدة مشوهة (packet_len=0 تليها جسم أكبر من حوالي 544 بايتاً)، مما ينتج عنه إنكار خدمة عن بُعد موثوق به بعد المصادقة. اعتماداً على ترتيب الكومة والتخصيصات المجاورة، قد يكون تلف بيانات تعريف الكومة (heap metadata) وعواقب أخرى تتجاوز إنكار الخدمة ممكنة، رغم أن إثبات المفهوم المقدم يُظهر فقط إنكار الخدمة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.