PT-2025-21348 · Vyper · Vyper
CVSS v4.0
6.3
متوسطة
| المتجه | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
اسم البرنامج المعرض للخطر والإصدارات المتأثرة:
إصدارات Vyper حتى الإصدار 0.4.2rc1 بما في ذلك
الوصف:
تتعلق المشكلة بالدالة المدمجة
slice() في Vyper، والتي يمكن أن تتجاهل الآثار الجانبية عندما يكون طول المخرجات 0 وتكون سلسلة البايت المصدر دالة مدمجة، مثل msg.data أو <address>.code. يحدث هذا لأن فحص length >= 1 يتم تخطيه بالنسبة لهذه المواقع المصدرية. ونتيجة لذلك، يمكن تمرير سلسلة بايت بطول صفر تم إنشاؤها باستخدام slice() إلى make byte array copier، مما يؤدي إلى تجاهل تقييم حجة المصدر الخاصة بها عندما يكون الطول الأقصى 0. وقد يؤدي هذا إلى تجاهل الآثار الجانبية في حجة start عندما تكون حجة length تساوي 0.التوصيات:
بالنسبة للإصدارات حتى الإصدار 0.4.2rc1 بما في ذلك، يُنصح بالتحديث إلى الإصدار 0.4.2، والذي من المتوقع أن يتضمن الإصلاح الذي يمنع أي استدعاء لـ
slice() بطول 0. كحل مؤقت، تجنب استخدام الدالة slice() بطول 0، خاصةً عندما يكون المصدر هو msg.data أو <address>.code، لمنع حذف الآثار الجانبية المحتملة.استغلال
إصلاح
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾
تصنيف نقاط الضعف
المعرّفات ذات الصلة
المنتجات المتأثرة
Vyper