PT-2026-146065

CVE-2026-126345

·

تاريخ النشر

2026-11-12

·

تاريخ التحديث

2026-11-12

الوصف من

CVSS 3.1
5.3
متوسطة
المقاييسAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
اسم البرنامج المصاب والإصدارات المتأثرة basic-ftp الإصدارات السابقة لـ 6.2.4
Description يستخدم محلل قائمة الأدلة MLSD في src/parseListMLSD.ts أسماء حقائق غير موثوقة من خادم FTP كمفاتيح في قاموس factHandlersByName دون التحقق مما إذا كانت الخاصية التي تم حلها هي معالج خاص. يمكن لخادم FTP خبيث أو مخترق، أو مهاجم في المسار عبر جلسة نصية بسيطة، تقديم حقيقة باسم proto. يؤدي هذا إلى الوصول إلى Object.prototype وتجاوز حارس المعالج المفقود، مما يجعل التطبيق يحاول استدعاءه كدالة، وهو ما يؤدي إلى حدوث TypeError.
بما أن هذا الـ TypeError ليس FTPError ، فإنه لا يتم التقاطه بواسطة منطق إعادة المحاولة في Client.list() وينتقل كـ promise مرفوض. يؤثر هذا على نقاط نهاية API والطرق التالية:
  • Client.list()
  • Client.downloadToDir()
  • Client.uploadFromDir()
  • Client.clearWorkingDir()
  • Client.removeDir()
في Node.js 15 والإصدارات الأحدث، إذا لم يقم التطبيق بمعالجة هذا الرفض باستخدام كتلة try/catch، فسيتم إنهاء عملية Node.js، مما يؤدي إلى حجب الخدمة.
Recommendations تحديث basic-ftp إلى الإصدار 6.2.4. كإجراء تخفيف مؤقت، قم بتغليف استدعاءات Client.list() و Client.downloadToDir() و Client.uploadFromDir() و Client.clearWorkingDir() و Client.removeDir() في كتل try/catch لمنع تعطل عملية Node.js.
قابلية الاستغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-5PM8-86M8-9M6R
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾